key - Sybase 删除主键

标签 key sybase ddl

我在 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/

相关文章:

mysql - 外键 null 不起作用

dictionary - Prolog:如何将字典的负索引转换为最大索引的正后继者?

Javascript, key 对值的总和

c# - 如何在 C# 控制台应用程序中输出 Windows Alt 键码

database - 如何连接同一台Sybase服务器上不同数据库中的表

django - 从 Django 连接到 Sybase 数据库

PHP7 - 连接到 sybase 数据库

jpa - 使用 EclipseLink 为 JPA 2.0 生成 DDL

sql - 微软 Access : setting table column Caption or Description in DDL?

mysql - 如何在 MySQL 中声明多列主键