Я пытаюсь изменить назначенный код здесь . Цель состоит в том, чтобы проверить все столбцы во всех таблицах, чтобы подсчитать NULL для проверки качества
У меня есть #tbl_chknull
, содержащий все запросы, которые должны быть выполнены. Для выполнения каждого запроса у меня есть:
DECLARE @nbr_statements INT = (SELECT COUNT(*) FROM #tbl_chknull)
, @i INT = 1
, @vi INT
;
WHILE @i <= @nbr_statements
BEGIN
DECLARE @sql_code NVARCHAR(4000) = (SELECT sql_code FROM #tbl_chknull WHERE [sequence] = @i);
EXEC sp_executesql
@Query = @sql_code
, @Params = N'@vi INT OUTPUT'
, @vi = @vi OUTPUT;
SELECT @vi
SET @i +=1;
END
EXEC statement
отображает значение, которое я хочу сохранить, однако, похоже, оно не фиксируется в переменной @vi OUTPUT
(которая всегда NULL в части SELECT
). Ты знаешь, чего мне не хватает? Спасибо!