У меня динамический SQL запросSQL Server Dynamic SQL Execution
DECLARE @ItemAreaCode NVARCHAR(MAX) = 'A062',
@SQLStringDropTable NVARCHAR(MAX);
SET @SQLStringDropTable= 'DROP TABLE' + ' ' +
'[@ItemAreaCode].[ChangedRMAllocation]'
PRINT @ItemAreaCode
EXEC sp_executesql @SQLStringDropTable , N'@ItemAreaCode NVARCHAR(MAX)', @ItemAreaCode;
Но когда я исполню это, я получаю эту ошибку:
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '@ItemAreaCode.ChangedRMAllocation', because it does not exist or you do not have permission.
И печатное запрос ..
DROP TABLE [@ItemAreaCode].[ChangedRMAllocation];
Что мне нужно:
DROP TABLE [A062].[ChangedRMAllocation];
Если параметр не является имя таблицы, Могу ли я использовать запрос, как у меня в этом вопросе? – tarzanbappa
Лучше избегать динамического SQL, если можно. Параметризированные запросы почти всегда предпочтительны. – Andomar