Java から db2 ストアド プロシージャ (p1) を呼び出しています。
このプロシージャは、挿入後にトリガーを持つテーブルにいくつかの挿入を行います。トリガーが別のプロシージャ (p2) を呼び出し、例外 'SIGNAL SQLSTATE '50000' SET MESSAGE_TEXT = 'An error'; が発生します。
SQLException
呼び出された db2 プロシージャは正常に実行されます。Java 呼び出し元を取得する必要はありません。しかし、私は Java コードで、プロシージャ p1 が発生させたかのように sqlexception を受け取ります。
db2 がこのように動作する理由と、それを防ぐ方法を教えてください。
後で編集
別のことが起こる可能性があります。
そのデータベースのdb内部キッチンで何かが壊れている可能性があるため、プロシージャdb2を呼び出すと、実際にプロシージャp2が実行されます。
残念ながら、問題が発生したシステムにアクセスできないため、何が起こったのかを尋ねることしかできません。
どのシナリオがよりもっともらしいと思いますか?