在SQL Server中重命名约束?

时间:2012-01-03 13:17:21

标签: sql sql-server constraints

是否可以在SQL Server中重命名约束?我不想删除并创建一个新约束,因为这个约束会影响其他已存在的约束,我将不得不重新创建/更改它们。

5 个答案:

答案 0 :(得分:67)

您可以使用@objtype = 'OBJECT'

使用sp_rename重命名

这适用于sys.objects中列出的包含约束

的对象

答案 1 :(得分:46)

经过多次挖掘后,我发现它实际上必须采用这种形式:

EXEC sp_rename N'schema.MyIOldConstraint', N'MyNewConstraint', N'OBJECT'

Source

答案 2 :(得分:45)

您可以使用sp_rename

sp_rename 'CK_Ax', 'CK_Ax1'

答案 3 :(得分:8)

答案是真的:

exec sp_rename 
@objname = 'Old_Constraint',
@newname = 'New_Constraint',
@objtype = 'object'

答案 4 :(得分:1)

我知道这是一个老问题,但我发现以下内容非常有用,除了其他很好的答案:

如果要重命名的约束中有一个句点(点),则需要将其括在方括号中,如下所示:

sp_rename 'schema.[Name.With.Period.In.It]', 'New.Name.With.Period.In.It'