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是你要查询的,未命名主键的表名称。表名称需要大写。
查询后,可以看到约束名称为SYS_C0010813
然后删除约束名称
alter table categoryinfo drop constraint SYS_C0010813
再使用查询语句,查询结果为空
删除主键约束成功