Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 重命名表中存在的列_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql 重命名表中存在的列

Sql 重命名表中存在的列,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,如果某列存在,我将尝试重命名该列 GO IF EXISTS(SELECT 1 FROM sys.columns WHERE [name] = N'MinDuration' AND [object_id] = OBJECT_ID(N'Category')) BEGIN sp_RENAME 'Category.MinDuration', 'SingleDuration' , 'COLUMN' END GO 但是在sp_RENAME附近获取错误的语法不正确。需要对话

如果某列存在,我将尝试重命名该列

GO

IF EXISTS(SELECT 1 FROM sys.columns WHERE [name] = N'MinDuration'
           AND [object_id] = OBJECT_ID(N'Category'))
BEGIN
    sp_RENAME 'Category.MinDuration', 'SingleDuration' , 'COLUMN'
END

GO
但是在sp_RENAME附近获取错误
的语法不正确。需要对话、对话、分布式或事务处理


如果表中存在列,如何重命名该列?

请尝试将
exec
放在第一位:

IF EXISTS(SELECT 1 FROM sys.columns WHERE [name] = N'MinDuration'
           AND [object_id] = OBJECT_ID(N'Category'))
BEGIN
    EXEC sp_RENAME 'Category.MinDuration', 'SingleDuration' , 'COLUMN'
END;

如何在多个列上检查这个条件,我的意思是如果我想在2/3列上检查它columns@manusharma . . . 你应该问一个问题,描述你的数据和你想做什么。