Search code examples
sql-serversp-rename

Error altering table name MSSQL


Wanted to see if I could get some help concerning altering and renaming tables in MSSQL Server 2008. I am getting an error message on the sp_name syntax and maybe I am doing something wrong?

    -- 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];

Getting this error message:

   Msg 102, Level 15, State 1, Line 5
   Incorrect syntax near 'sp_rename'.

Solution

  • Needs exec in front of proc call

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

    you need to add exec in front of a proc if it is not the first statement in the batch