Я пытаюсь изменить серию имен таблиц в Microsoft SQL Server 2017 Standard Edition, используя Microsoft SQL Server Management Studio 2018.
Код, который я передаю, основан на следующем коде:
use DatabaseX
declare @RunRW varchar(MAX)
declare @ArVC varchar(4)
declare @StartAr smallint
declare @SlutAr smallint
declare @Ar smallint
set @StartAr = 2000
set @SlutAr = 2018
set @Ar = @StartAr
while @Ar <= @SlutAr
begin
set @ArVC = cast(@Ar as varchar)
set @RunRW = '
exec sp_rename ''TMP_Table_Name_' + @ArVC + ',''Table_Name_' + @ArVC + ''
exec (@RunRW)
set @Ar = @Ar + 1
end
Я пробовал различное количество кавычек в моем синтаксисе exec sp_rename
. Кажется, что я могу обойти неудачу, изменив их. Приведенный выше пример кода выдает сообщение об ошибке:
Сообщение 102, уровень 15, состояние 1, строка 2
Неверный синтаксис рядом с 'TMP_Table_Name_2000'.
IМы также пытались использовать четыре кавычки вместо двух.
Еще одна попытка заключалась в том, чтобы динамически запускать хранимую процедуру без использования переменной @RunRW
. Это тоже не сработало.
Что я делаю неправильно / отсутствует или невозможно запустить sp_rename
с динамическим кодом?