Запустите динамический скрипт, используя инструкцию Execute sp_executesql, с выводом в переменную через выход - PullRequest
0 голосов
/ 22 января 2019

У меня есть запрос с динамическими переменными, который я включаю или выполняю с помощью оператора EXECUTE sp_executesql с выводом в переменную с помощью предложения output, но по какой-то причине он вводит код, поэтому невозможно, чтобы в результате был сохранен антифриз эта переменная, только NULL выходит. Я говорю только по-испански, поэтому извиняюсь за ошибки при переводе вопроса

DECLARE @contador2 INT;
DECLARE @Num_reg2 INT;
DECLARE @Variable2 VARCHAR(55);
DECLARE @Parametro INT;
DECLARE @SQLString nvarchar(500);  
DECLARE @ParmDefinition nvarchar(500);  
SET @contador   = 0;
SET @contador2= 1;
SET @Num_reg2=(SELECT COUNT(Concatenada) FROM [ConsultaIndicadores].[dbo].[Fechas]);
WHILE @contador2 <= @Num_reg2
BEGIN
SET @SQLString =  N'SELECT Concatenada FROM [ConsultaIndicadores].[dbo].[Fechas] WHERE RegNumero = @ID';  
SET @ParmDefinition = N'@ID int, @Variable varchar(55) OUTPUT';
SET @contador = @contador + 1; 
EXECUTE sp_executesql @SQLString, @ParmDefinition, @ID = @contador, @Variable=@Variable2 OUTPUT;
SELECT @Variable2;
SET @contador2 = @contador + 1;
END;

Проблема в том, что результат запроса, если он был выполнен непосредственно в SELECT, выглядит корректным, а переменная @ Variable2 отображается NULL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...