2010-11-01 38 views
1

使用脚本来命名这已经引起了问题列...SQL脚本出错需要帮助恢复“[”字符列名导致问题

sp_RENAME 'products.isvalid' , '[_is_valid_system]', 'COLUMN' 

现在我有一个列名用方括号中,并且我无法访问该列来解决问题。

列名:

[_is_valid_system] 

试图修复该问题,像这样失败,因为该命令中的特殊字符:

sp_RENAME 'products.[_is_valid_system]' , '_is_valid_system', 'COLUMN' 

逃避这些字符的方法吗?

即使我可以从列中选择足够好的列,但由于SQL Server中方括号的特殊含义,下列显然不起作用。

select [is_valid_system] from products 

回答

3

尝试

sp_RENAME 'products."[_is_valid_system]"' , '_is_valid_system', 'COLUMN'

+0

谢谢你,你的救星! – gb2d 2010-11-01 10:40:12

2

如果SET QUOTED_IDENTIFIER为ON(应该是默认值),试试这个

EXEC sp_RENAME 'products."[_is_valid_system]"' , '_is_valid_system', 'COLUMN' 

仅供参考,您可以使用此也查询

SELECT "[is_valid_system]" FROM products 
+0

谢谢,我会记住引号的东西! – gb2d 2010-11-01 10:40:38