引用來源
--
在我們發佈產品過程中,有的時候需要修改某些表的主鍵,但是又不能在企業管理器中直接修改,必需寫sql語句,
這改如何處理呢? 可以先刪除主鍵,再新建主鍵 , 下面舉一個詳細的例子:
create table abcd
(
a char(10) not null,
b char(10) not null primary key(a,b),
c char(10) null,
d char(10) null
)
一個存在的表 abcd ,主鍵為 a+b , 現在想把 a+b+c 三列修改為主鍵
1. 刪除主鍵:
Declare @Pk varChar(100);
Select @Pk=Name from sysobjects where Parent_Obj=OBJECT_ID('abcd') and xtype='PK';
if @Pk is not null
begin
exec('Alter table abcd Drop '+ @Pk) --刪除原主鍵
end
2. 把所有主鍵設為不能為空
alter table abcd alter column c char(10) not null
3. 重建主鍵:
ALTER Table abcd ADD CONSTRAINT pk_abcd PRIMARY KEY (a, b, c )
沒有留言:
張貼留言