我在 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
就是这样。
关于key - Sybase 删除主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37977018/