sql server if block errors when running a stored proc inside - gives a syntax error

sql, sql-server

Solution

Try:

EXEC sp_rename N'Schema', N'SchemaInfo';

IMHO you should never call a stored procedure without `EXEC`.

Problem

I would like to have a script for deployment which is rerunable. So I check if the table is there before renaming it. ``` IF EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Schema]') AND type IN ( N'U' ) ) BEGIN sp_rename [Schema], [SchemaInfo] END ``` The error is Incorrect syntax near 'sp_rename'.

Original source