トリガー | 江木町の牛舎

江木町の牛舎

~ 田舎者プログラマの日常 ~

正直初使用

良い機会に恵まれました

そして良い勉強になりました

概要としては以下の動作
・挿入時
・行単位
・挿入データを使用して別テーブルを検索
・検索結果をXMLファイル出力

で、問題は例外処理

EXCEPTIONの位置づけを理解していなかったので苦労しました

まず、普通にハンドリングすると処理異常があってもエラーにならなくなり、INSERT処理も普通に行われる
つまり、DB更新を保証してトリガ処理を実行するにはそれでいいということなんですね

ただそうするとトリガに問題があっても何もわからなくなる
で、EXCEPTIONにRAISEを書いておくとエラーが発生する
この場合はROLLBACKされるのでDB更新が保証されない

そんなわけでRAISEを有効にして動作検証を行い、安定した段階でRAISEを外すのがいいのではないかということに落ち着きました

ログを吐かせるべきなんだろうな、きっと

勉強になりました


Android携帯からの投稿