要重命名 CHECK,我使用如下查询:
EXEC sp_rename 'test_create_table.test_check.check_1', 'check1', 'OBJECT'
查询执行没有错误,但约束的名称没有改变。
有人知道为什么吗?
要重命名 CHECK,我使用如下查询:
EXEC sp_rename 'test_create_table.test_check.check_1', 'check1', 'OBJECT'
查询执行没有错误,但约束的名称没有改变。
有人知道为什么吗?
您需要特别注意文档页面上的警告:
如果要重命名的对象是约束,则object_name必须采用schema.constraint形式。
我不认为你给的名字是。test_create_table
因此,如果这是对架构中调用的表的约束foobar
,那么您实际需要的是:
EXEC sp_rename 'foobar.check_1', 'check1', 'OBJECT'
我不知道为什么当您以其他方式尝试时它没有提供任何形式的反馈,但您会注意到您也没有收到此消息:
警告:更改对象名称的任何部分都可能破坏脚本和存储过程。
sp_rename
这是成功时的通常输出。
这应该成功地重命名您的表。我稍微修改了你的命令。
EXEC sp_rename 'test_create_table.test_check', 'check1';
只是验证我所看到的 - test_create_table 是您的架构的名称,test_check 是您的表的名称,您仍然是要检查的表吗?
此外,看起来您正在包含一个对象。确保您已经创建了您的对象: CREATE OBJECT YourObjectName ON 在此处包含您的表信息。
此链接也可能有帮助:http ://technet.microsoft.com/en-us/library/ms188351.aspx
带有目标代码的示例在底部。