在SQL Server中重命名约束?

问题描述 投票:69回答:5

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

sql sql-server constraints
5个回答
67
投票

您可以使用sp_rename使用@objtype = 'OBJECT'重命名

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


46
投票

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

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

Source


45
投票

你可以使用sp_rename

sp_rename 'CK_Ax', 'CK_Ax1'

8
投票

答案是真的:

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

1
投票

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

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

sp_rename 'schema.[Name.With.Period.In.It]', 'New.Name.With.Period.In.It'
© www.soinside.com 2019 - 2024. All rights reserved.