更改表名MSSQL时出错

时间:2013-09-16 14:02:55

标签: sql-server sp-rename

想知道我是否可以获得一些关于在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 个答案:

答案 0 :(得分:1)

在proc调用前需要exec

exec sp_rename 'dbo.tab_reg13', 'dbo.tab_reg13_old';

如果它不是批处理中的第一个语句,则需要在proc前面添加exec

相关问题