ORA-02449: 表中的唯一/主鍵被外鍵引用


1.檢查哪些表的外鍵引用了要刪除的表的唯一/主鍵.

      select A.*
       from user_constraints A, user_constraints B
       WHERE b.table_name = 'MYTEST'
        and a.constraint_type = 'R'
        and a.r_constraint_name = b.constraint_name;

2.生成所有引用要刪除表的外鍵的創建語句.

      select 'select dbms_metadata.get_ddl(''REF_CONSTRAINT'',''' ||
          A.CONSTRAINT_NAME || ''') FROM DUAL;'
       from user_constraints A, user_constraints B
       WHERE b.table_name = 'MYTEST'
        and a.constraint_type = 'R'
        and a.r_constraint_name = b.constraint_name;
     
3.執行步驟2中產生的SQL語句,獲取外鍵定義.

      set long 3000
      set linesize 3000
      set pagesize 300
      執行步驟2產生的語句.
     
4.刪除表.

      drop table mytest cascade constraints;

5.刪除並重建表.

6.建立因創建該表所刪除的外鍵約束.

      執行步驟3中獲取到的sql語句.

7.檢查各外鍵是否得到恢復,系統是否正常.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM