Результат захвата динам c Т- SQL - PullRequest
1 голос
/ 15 января 2020

Я пытаюсь изменить назначенный код здесь . Цель состоит в том, чтобы проверить все столбцы во всех таблицах, чтобы подсчитать 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). Ты знаешь, чего мне не хватает? Спасибо!

...