簡體   English   中英

Sybase刪除主鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM