Ошибка при изменении имени таблицы 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 перед процедурой, если это не первый оператор в пакете

Другие вопросы по тегам