1

我有列名 [car_no] 我想重命名它....

我是这样想的:

exec sp_rename 'add_duty_slip.[car_no]' , 'car_no', 'column'

但它没有用。

谢谢

4

4 回答 4

5

你的代码运行起来就像一个魅力。看到这个小提琴

但是对旧名称和新名称使用相同的名称不会做任何事情。

为两者使用不同的名称(即实际上重命名列),例如:

exec sp_rename 'add_duty_slip.[car_no]' , 'car_no1', 'column'

效果也很好。看到这个其他的小提琴

编辑

如果这是您问题的真正含义,括号 ( []) 不是列名的一部分,它们只是包含不规则字符(例如空格)的名称的分隔符。所以[car_no]car_no实际上是完全相同的名称。

如果您的列名确实包含在括号内,您可以执行以下操作:

exec sp_rename 'add_duty_slip."[car_no]"' , 'car_no', 'column'

看到这个小提琴

于 2013-09-12T08:39:52.150 回答
0

这会对你有所帮助。

sp_RENAME 'TableName.[OldColumnName]' , '[NewColumnName]', 'COLUMN'

此外,由于旧名称和新名称相同,因此即使在运行代码后您也无法注意到更改。

于 2013-09-12T08:26:29.023 回答
0

你有没有试过这个:

EXEC sp_rename 
    @objname = 'table_name.old_column_name', 
    @newname = 'new_column_name', 
    @objtype = 'COLUMN'
于 2013-09-12T08:28:56.717 回答
0

试试这个

重命名任何列的脚本:

sp_RENAME 'TableName.[OldColumnName]' , '[NewColumnName]', 'COLUMN'

重命名任何对象(表、sp 等)的脚本:

sp_RENAME '[OldTableName]' , '[NewTableName]'
于 2013-09-12T08:57:41.810 回答