FC2ブログ

shin1観察日記

自分の所業を見つめなおすblogです

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

oracle 一意制約違反

仕事カテゴリ追加!
プログラムでよく分からない箇所などなど愚痴ろうと思います。
知らないネタが多いと思うのでスルー推奨です。

記念すべき第一回は「oracle 一意制約違反」です。

本日、不可解な現象が起きたのですよ。

BEGIN

  なんかSQL

  BEGIN

    INSERT テーブルA;

  EXCEPTION
    WHEN DUP_VAL_ON_INDEX THEN
      UPDATE テーブルA;
  END;

  なんかSQL

EXCEPTION
WHEN OTHERS THEN
  dbms_outpu.put_line(sqlerrm);
  rollback;
END;
/

こんな記述をしていたんですよ。
そして実行・・・エラー・・・エラーメッセージは「ORA-00001 一意制約・・・(テーブルAのキー)」

・・・ばかな!
テーブルAのキー違反時にUPDATEするように記述したのに何故エラーに・・・?
しかも多少ログを出力するように変更してみた所、数件はちゃんとUPDATEで処理されている風だ。

そんな謎の現象が今日起きました。

もう日が変わる間近だったので引き上げましたが・・・・明日ちょっと調べてみます。

それ以外にも金額が合わなかったりするんだよなぁ・・・標準機能のはずなのに・・・?

忙しい時、トラブルのような事が起こると悲しいですね?

ではでは。
スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。