zoukankan      html  css  js  c++  java
  • 第一次使用oracle约束|补充客商名称重复|

    2012.07.10号更新重复客商的约束:

    1 直接使用alter会报错,因为之前没有使用约束,oracle中已经有了重复的客商

    SQL> alter table bd_cubasdoc add constraint one_custname unique(custname);
     
    alter table bd_cubasdoc add constraint one_custname unique(custname)
     
    ORA-02299: 无法验证 (XMV502.ONE_CUSTNAME) - 找到重复关键字

    2,得到itpub版主ZALBB的指示:尝试:先建普通索引,再建唯一性约束,使用先前的普通索引,enable novalidate。

    下图在plsql上可视化的创建普通索引

    或者

    create index ONE_NAME on BD_CUBASDOC (CUSTNAME)

    之后使用enable novalidate达到对数据库中已有重复客商的忽略(novalidate:无效)

    SQL> alter table bd_cubasdoc add constraint one_custname unique(custname) using index enable novalidate;
     
    Table altered

    或者

    SQL>  alter table BD_CUBASDOC add constraint ONE_CUSTNAME unique (CUSTNAME)  rely enable novalidate;
     
    Table altered

    或者

    SQL> alter table BD_CUBASDOC add constraint UCNAME unique (CUSTNAME)  enable novalidate;
     
    Table altered

     上面table altered之后,通过查看表或者constraint,发现keys多了一行unique

    ps:如果是check约束,会在右边的checks增加一行。

    通过,同我的trigger效果一样

    下面是oracle后台跑的代码

    删除keys中的unique:

    alter table BD_CUBASDOC
      drop constraint ONE_CUSTNAME cascade;

    创建时候:

    create index ONE_NAME on BD_CUBASDOC (CUSTNAME)
      tablespace NNC_DATA01
      pctfree 10
      initrans 2
      maxtrans 255
      storage
      (
        initial 256K
        next 256K
        minextents 1
        maxextents unlimited
        pctincrease 0
      );

    alter table BD_CUBASDOC
      add constraint ONE_CUSTNAME unique (CUSTNAME);
  • 相关阅读:
    win32汇编-Windows钩子(七)
    win32汇编-动态链接库(六)
    win32汇编-内存管理 (五)
    win32汇编-GDI 图形 (三)
    win32汇编-定时器与取本地时间 (四)
    win32汇编-窗口 对话框 (三)
    win32汇编数据结构(二)
    win32汇编入门(一)
    win驱动开发笔记-结构化异常处理
    判定IE 使用 css
  • 原文地址:https://www.cnblogs.com/sumsen/p/2524842.html
Copyright © 2011-2022 走看看