[英]Sybase drop primary key
我在Sybase中有下表
create table CUE_LOAD (
CAR_YEAR numeric(4,0) not null ,
CAR_ACCT numeric(15,0) not null ,
CAR_INIT_DATE date not null ,
CAR_END_DATE date not null ,
CAR_DOCTYPE varchar(20) not null ,
CAR_DOC_NO varchar(20) not null ,
CAR_CONCEPT varchar(100) not null ,
CAR_NAME varchar(100) not null ,
CAR_SHOP_VALUE numeric(20,0) not null ,
CAR_VALUE_IVA numeric(20,0) not null ,
CAR_VALUE_RTF numeric(20,0) not null ,
CAR_CONSIG varchar(30) not null ,
CAR_ID int identity ,
PRIMARY KEY CLUSTERED ( CAR_ACCT, CAR_DOC_NO, CAR_INIT_DATE, CAR_END_DATE ) on 'default')
如您所見,我們在上面有一個復合主鍵,它沒有約束名稱,但是現在我們需要刪除它,並將主鍵分配給表中的另一列,我已經嘗試過
ALTER TABLE CUE_LOAD DROP PRIMARY KEY
但是我得到“關鍵字'PRIMARY'附近的語法不正確”,我也嘗試過
ALTER TABLE CUE_LOAD DROP PRIMARY KEY CLUSTERED PRIMARY KEY CLUSTERED ( CAR_ACCT, CAR_DOC_NO, CAR_INIT_DATE, CAR_END_DATE )
但出現相同的錯誤。
那么我如何刪除這個主鍵?
提前致謝
我終於弄清楚了,執行命令sp_helpconstraint CUE_LOAD來找到由Sybase分配的主鍵標識符(例如CUE_LOAD_11311480441),然后使用放置約束命令
ALTER TABLE
CUE_LOAD
DROP CONSTRAINT CUE_LOAD_11311480441
就是這樣。
使用以下命令:
sp_dropkey PRIMARY, CUE_LOAD
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.