oracle錯誤異常資訊,和解決辦法
阿新 • • 發佈:2018-12-02
1.
ORA-02292外來鍵約束問題
(一般在刪除時會遇到)
原因:
通常在刪除某個表A的時候,會出現這個錯誤。原因是另一個表B的某個欄位引用了A表的某個欄位作為外來鍵約束
解決辦法:
1.先檢視是哪個表引用了A的欄位做為外來鍵
select table_name from all_constraints where constraint_name = '約束的名稱'
2.讓引用外來鍵的表的哪個外來鍵失效
導致原因:因為是首次查詢序列的當前值,記憶體中之前並沒有快取序列的任何值,所以需要先查詢
一下序列的下一個值(此時,Oracle會自動快取已查詢的序列值),再查詢序列的當前值。
select XXXXXXX.NEXTVAL from dual;
select XXXXXXX.CURRVAL from dual;
3.ORA-01422: 實際返回的行數超出請求的行數 出現這個錯誤的原因:符合這個條件記錄的行不止一行,有多行
3.然後就可以進行刪除了
2.ORA-08002:序列XXXXXXX.CURRVAL尚未在此程序中定義
3.ORA-01422: 實際返回的行數超出請求的行數 出現這個錯誤的原因:符合這個條件記錄的行不止一行,有多行
4.ORA-01758: 要新增必需的 (NOT NULL) 列, 則表必須為空
解決辦法:
1.給新新增的列指定預設值。
2.清空表中的記錄再新增新列。