我必須重命名數據庫中的約束。當前DB由下面的腳本(樣品,一部分)創建:重命名數據庫約束
CREATE TABLE [dbo].[Table1] (
[Column1] UNIQUEIDENTIFIER DEFAULT (newsequentialid()) NOT NULL,
...
現在,我需要重新命名連接到[Column1]
默認約束。 這怎麼可能做到?
我必須重命名數據庫中的約束。當前DB由下面的腳本(樣品,一部分)創建:重命名數據庫約束
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';
更多informati請參閱http://msdn.microsoft.com/en-us/library/ms188351.aspx 「重命名限制」部分
提示:?SQL服務器命名約束]找出默認名稱...的 –
可能重複(http://stackoverflow.com/questions/8712875/SQL服務器-重命名-A-約束) – Pondlife