0

同様のケースは、トリガーが起動され、dbms_output.put_lineがstmtsされる場合があることを示しています。その中のコンソールにはすぐには印刷されませんが、匿名のブロック/手順で別のそのようなstmtに従います。

なぜこれが起こるのですか?Oracleクライアントのバージョンが原因ですか?このようなトリガーが2つまたは3つ連続して起動された場合はどうなりますか?
serveroutputがオンになっています

4

1 に答える 1

4

DBMS_OUTPUTに書き込まれたテキストは、バッファリングされたデータを取得するためにDBMS_OUTPUT.GET_LINESを呼び出すまでバッファリングされます。何らかの理由で、使用しているツールはDBMS_OUTPUT.GET_LINESを呼び出してデータを表示していません。ただし、トリガーからの出力のに後のステートメントからの出力が表示されている場合は、その出力を作成したDBMS_OUTPUT.PUT_LINEステートメントがこの順序で呼び出されていることを示しています。

トリガーの起動の問題については、OracleDatabaseConceptsのマニュアルのトリガーに関するセクションを読む必要があります。11.1の場合、データベースの概念のマニュアルはここにあります。

共有してお楽しみください。

于 2012-04-18T11:19:20.523 に答える