2013-09-16 3 views
1

Хотел бы узнать, смогу ли я получить помощь относительно изменения и переименования таблиц в MSSQL Server 2008. Я получаю сообщение об ошибке в синтаксисе sp_name и, возможно, я что-то делаю неправильно?Ошибка изменения имени таблицы MSSQL

-- 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 перед прока, если это не первое заявление в партии

+0

Спасибо @SQLMenace, это сработало отлично! – user130045

Смежные вопросы