美文网首页
Oracle 未命名约束如何删除?

Oracle 未命名约束如何删除?

作者: 旅行和阳光 | 来源:发表于2017-07-03 18:25 被阅读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
    

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

    删除主键约束成功

    相关文章

      网友评论

          本文标题:Oracle 未命名约束如何删除?

          本文链接:https://www.haomeiwen.com/subject/crdzcxtx.html