我必须重命名数据库中的约束。当前数据库由以下脚本(示例,部分)创建:
CREATE TABLE [dbo].[Table1] (
[Column1] UNIQUEIDENTIFIER DEFAULT (newsequentialid()) NOT NULL,
...
现在我需要重命名附加到[Column1]
. 怎么可能呢?
我必须重命名数据库中的约束。当前数据库由以下脚本(示例,部分)创建:
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';
确保可以重命名约束,有两种方法
像这样
exec sp_rename ‘PK_1231’,
'PK_MyTableName',
'OBJECT';
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms188351.aspx “重命名约束”部分