重命名列:'SP_RENAME'附近的语法不正确。?

时间:2021-07-08 10:40:21
ALTER TABLE [TEMP]
SP_RENAME '[TEMP].[Day]', 'GT', 'COLUMN'

I am trying to rename Day to GT and am getting the error

我正在尝试将Day重命名为GT并且收到错误

Incorrect syntax near 'SP_RENAME'

'SP_RENAME'附近的语法不正确

SQL Server Management Studio says the error is on SP_RENAME

SQL Server Management Studio说错误在SP_RENAME上

NOTE: I'm open to other options besides sp_rename

注意:除了sp_rename之外,我还可以使用其他选项

3 个解决方案

#1


28  

SP_RENAME is not part of the ALTER TABLE statement. It is a system stored procedure and therefore it should be invoked using the EXEC/EXECUTE statement, like this:

SP_RENAME不是ALTER TABLE语句的一部分。它是一个系统存储过程,因此应该使用EXEC / EXECUTE语句调用它,如下所示:

exec SP_RENAME '[TEMP].[Day]', 'GT', 'COLUMN'

(without the alter table temp bit)

(没有alter table temp位)

#2


0  

You need to start each SP_RENAME with an EXEC

您需要使用EXEC启动每个SP_RENAME

#3


0  

Worked for the answer which was quoted by @juergen d.

努力寻找@juergen引用的答案。

PRINT N'Modifying Schema for SAMPLE_TABLE started'
DECLARE @COLNAME_DEAL_TERM VARCHAR(200) ;
SET @COLNAME_DEAL_TERM = 'SAMPLE_COL_NAME';

IF COL_LENGTH('SAMPLE', @COLNAME_DEAL_TERM ) IS NULL
BEGIN
    exec SP_RENAME 'SAMPLE.portfolio',@COLNAME_DEAL_TERM , 'COLUMN';
END;
GO

#1


28  

SP_RENAME is not part of the ALTER TABLE statement. It is a system stored procedure and therefore it should be invoked using the EXEC/EXECUTE statement, like this:

SP_RENAME不是ALTER TABLE语句的一部分。它是一个系统存储过程,因此应该使用EXEC / EXECUTE语句调用它,如下所示:

exec SP_RENAME '[TEMP].[Day]', 'GT', 'COLUMN'

(without the alter table temp bit)

(没有alter table temp位)

#2


0  

You need to start each SP_RENAME with an EXEC

您需要使用EXEC启动每个SP_RENAME

#3


0  

Worked for the answer which was quoted by @juergen d.

努力寻找@juergen引用的答案。

PRINT N'Modifying Schema for SAMPLE_TABLE started'
DECLARE @COLNAME_DEAL_TERM VARCHAR(200) ;
SET @COLNAME_DEAL_TERM = 'SAMPLE_COL_NAME';

IF COL_LENGTH('SAMPLE', @COLNAME_DEAL_TERM ) IS NULL
BEGIN
    exec SP_RENAME 'SAMPLE.portfolio',@COLNAME_DEAL_TERM , 'COLUMN';
END;
GO