Ошибка при изменении имени таблицы MSSQL
Хотел посмотреть, могу ли я получить некоторую помощь по изменению и переименованию таблиц в MSSQL Server 2008. Я получаю сообщение об ошибке синтаксиса sp_name и, возможно, я делаю что-то не так?
-- Archives data existing one week ago and then recreates production table (registration data)
IF EXISTS (SELECT * FROM dbo.tab_reg13_old) DROP TABLE dbo.tab_reg13_old;
sp_rename 'dbo.tab_reg13', 'dbo.tab_reg13_old';
CREATE TABLE [dbo].[tab_reg13](
[badge] [nvarchar](255) NULL,
[firstname] [nvarchar](255) NULL,
[lastname] [nvarchar](255) NULL,
[degree] [nvarchar](255) NULL,
[title] [nvarchar](255) NULL,
[company] [nvarchar](255) NULL,
[address1] [nvarchar](255) NULL,
[address2] [nvarchar](255) NULL,
[city] [nvarchar](255) NULL,
[state] [nvarchar](255) NULL,
[zipcode] [nvarchar](255) NULL,
[country] [nvarchar](255) NULL,
[email] [nvarchar](255) NULL,
[association] [nvarchar](255) NULL,
[regclass] [nvarchar](255) NULL,
[regtimestamp] [datetime] NULL
) ON [PRIMARY];
Получение этого сообщения об ошибке:
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near 'sp_rename'.
1 ответ
Решение
Требуется exec перед вызовом proc
exec sp_rename 'dbo.tab_reg13', 'dbo.tab_reg13_old';
вам нужно добавить exec перед процедурой, если это не первый оператор в пакете