SET @DynamicSQL = 'UPDATE U SET U.ADDRESS1 = U.ADDRESS2, U.ADDRESS2 = NULL FROM USER U INNER JOIN EMPOYEE E ON E.USER_ID = U.USER_ID WHERE U.TYPE = ''' + @TYPE + ''''
EXEC(@DynamicSQL)
PRINT @DynamicSQL
Я создаю динамический sql внутри хранимой процедуры, как показано выше. Теперь, когда он выполняется в SP, он печатает правильный SQL-код, который мне нужен, но в строках, обновленных на EXEC, есть «0». Однако, когда я пытаюсь выполнить sql, который генерируется путем печати sql в SP, он показывает мне обновленные 150 строк.Обновленный запрос внутри EXEC не обновляет данные?
Теперь, что может быть причиной того, что EXEC не может обновить строки и напрямую вызывает ПЕЧАТНЫЙ sql?
Я использовал «FROM USER U» в запросе обновления, но вывод, сгенерированный PRINT (@DynamicSql), если я копирую и выполняю непосредственно, он выполняет и обновляет строки. –