繁体   English   中英

重命名数据库约束

[英]Rename database constraint

我必须重命名数据库中的约束。 当前数据库是通过以下脚本(示例,部分)创建的:

CREATE TABLE [dbo].[Table1] (
    [Column1] UNIQUEIDENTIFIER DEFAULT (newsequentialid()) NOT NULL,
    ...

现在,我需要重命名附加到[Column1]默认约束。 怎么可能呢?

正如Mitch建议的那样,您将需要查找自动生成的默认名称的实际名称。 假设表上只有一个默认值:

declare @Name nvarchar(50);
select @Name = name from sys.default_constraints 
  where parent_object_id = Object_Id('dbo.table1');
exec sp_rename @Name, 'NewConstraintName';

确保可以重命名约束,有两种方法

  • 删除当前约束并重新创建它们(这很容易,但显然不可能始终如此)
  • 您可以使用存储过程sp_rename

像这样

exec sp_rename ‘PK_1231’,
'PK_MyTableName',
'OBJECT';

有关更多信息,请参考http://msdn.microsoft.com/zh-cn/library/ms188351.aspx部分“重命名约束”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM