Oracle 未命名约束如何删除?

2017-07-03  本文已影响34人  旅行和阳光

创建表categoryinfo,未命名主键CategoryId 约束名称。

 create table categoryinfo(
   CategoryId varchar2(10),
   CategoryName varchar2(30),
   primary key(CategoryId)
   )

创建表时无命名主键约束,如何删除?随便起个名字?删除直接报错,如下图


删除没有命名的主键约束,删除报错

创建主键时未命名,但是oracle会自动分配一个约束名称,从哪里查询?
查询语句:

SELECT * FROM USER_CONS_COLUMNS WHERE TABLE_NAME='CATEGORYINFO'

CATEGORYINFO是你要查询的,未命名主键的表名称。表名称需要大写。

oracle 查询约束名称表USER_CONS_COLUMNS
查询后,可以看到约束名称为SYS_C0010813

然后删除约束名称

alter table categoryinfo drop constraint SYS_C0010813

再使用查询语句,查询结果为空

删除主键约束成功
上一篇下一篇

猜你喜欢

热点阅读