gdufo

           

          oracle 約束管理


          1.define constraints as immediate or deferred

          sql> alter session set constraint[s] = immediate/deferred/default;

               set constraint[s] constraint_name/all immediate/deferred;

          sql> alter table add constraint ck_sales_1 initially immediate/deferred/default;
              
               alter table modify constraint ck_sales_1 initially

          immediate/deferred/default;
              

          2. sql> drop table table_name cascade constraints

            sql> drop tablespace tablespace_name including contents cascade constraints

          3. define constraints while create a table

          sql> create table xay(id number(7) constraint xay_id primary key deferrable

          sql> using index storage(initial 100k next 100k) tablespace indx);

              primary key/unique/references table(column)/check

          4.enable constraints

          sql> alter table xay enable novalidate constraint xay_id; #enable novalidate 新

          數據應用規則,舊數據不管
          5.enable constraints

          sql> alter table xay enable validate constraint xay_id; #enable validate 新數據

          應用規則,舊數據也要檢查

          同樣還有:disable novalidate, disable validate

          6.disable constraints

          sql> alter table sales disable constraint fk_1

          sql> truncate table sales

          7.using the exceptions table
          #生效約束時將不符合約束條件的記錄寫入到exceptions table,反復檢查,直至沒有錯誤

          sql> start d:\xxx\utlexcpt.sql
          sql> desc exceptions
          sql> alter table sales add constraint ch_sales_1(qty>15)
               enable validate exceptions into exceptions

          8.obtaining constraint information
            dba_constraints dba_cons_columns

          sql> select constraint_name, constraint_type. deferrable,deferred, validated
               from dba_constraints where owner='HR' and table_name ='employee'

          sql> select c.constraint_name, c.constraint_type,cc.column_name
               from dba_constraints c, dba_cons_columns cc
               where c.owner ='HR' and c.table_name = 'employee'
               and c.owner = cc.owner and c.constraint_name = cc.constraint_name
               order by cc.position;


           

          posted on 2009-11-23 20:32 gdufo 閱讀(319) 評論(0)  編輯  收藏 所屬分類: Database (oracle, sqlser,MYSQL)

          導航

          統計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 图片| 湖州市| 大埔县| 綦江县| 丹江口市| 蒙自县| 盐边县| 手游| 大埔县| 习水县| 南和县| 盐山县| 五大连池市| 青铜峡市| 藁城市| 乐昌市| 韩城市| 麟游县| 崇阳县| 丹巴县| 婺源县| 平和县| 磐安县| 离岛区| 家居| 遂溪县| 瑞安市| 枣强县| 仪陇县| 绥滨县| 酒泉市| 新泰市| 科技| 临清市| 申扎县| 澳门| 台中市| 怀来县| 巴南区| 兴和县| 兴义市|