Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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 server 重命名中间有空格的列名_Sql Server_Rdbms - Fatal编程技术网

Sql server 重命名中间有空格的列名

Sql server 重命名中间有空格的列名,sql-server,rdbms,Sql Server,Rdbms,无意中,我将我的专栏命名为: AM using MSSMS 17.5v ---------------------------- GO EXEC sp_rename "CloudSubscriber.Unsubscribe Reports", 'Unsubscribe', 'COLUMN' GO ---------------------------- 我怎样才能把它改回原来的名字? 我无法还原我使用以下方法所做的上述更改: GO EXEC sp_rename "CloudSub

无意中,我将我的专栏命名为:

AM using MSSMS 17.5v 
----------------------------

GO  
EXEC sp_rename "CloudSubscriber.Unsubscribe Reports", 'Unsubscribe', 'COLUMN'
GO 
----------------------------
我怎样才能把它改回原来的名字? 我无法还原我使用以下方法所做的上述更改:

GO  
EXEC sp_rename "CloudSubscriber.Unsubscribe", 'Unsubscribe Reports', 'COLUMN'
GO 
------------------------

可能是由于空格引起的错误?

尝试在列名周围使用双引号:

EXEC sp_rename "CloudSubscriber.Unsubscribe", "Unsubscribe Reports", 'COLUMN'

对于大多数数据库,双引号表示数据库对象名称,单引号表示文本文字。

嘿,太棒了!就这样。多谢@阿法尔,把这个作为答案,因为它回答了你的问题。@EricBrandt答案不正确。sp_rename是一个接受各种类型的nvarchar参数的存储过程。在存储过程内部,如果用单引号或双引号引用过程外部的参数字符串值,则没有区别。它甚至不可能检测到这一点。大概是OP犯了一些其他类型的错误,他们在尝试此答案中的代码时碰巧避免了这些错误。@Afar单击答案左侧的勾号。它应该从灰色变为绿色。您的原始代码运行良好不,我必须使用双引号将带有空格的名称重命名为没有空格的名称。使用单引号时,它不起作用。下面是波西米亚式的解决方案。我的链接是指向一个SQL Server实例,它在那里工作正常!你看到了什么错误?