2012-04-18 5 views
0

A similar caseは、トリガーが発生し、dbms_output.put_lineがstmtsすることがあることを示しています。それはすぐにコンソールには表示されませんが、匿名のブロック/手順では別のstmtに従います。SQL/Triggers:遅延の後に出力される出力

どうしてですか?それはOracleクライアントのバージョンのためですか? シーケンスで2つまたは3つのトリガーが発生したらどうなりますか?
SERVEROUTPUTはDBMS_OUTPUTに書き込ま

答えて

4

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

トリガー起動の問題については、「Oracle Database概要」の「トリガー」の項を参照する必要があります。 11.1では、Database Conceptsのマニュアルはhereです。

共有して楽しんでください。

+0

したがって、 'バッファ'が主な理由です。 これは常にこのように動作するのでしょうか、または設定を変更できますか? –

+0

私はこの動作を変更する方法はありません。 –

+0

あなた自身で 'DBMS_OUTPUT.GET_LINES'を呼び出すことで、スクリプトをバッファから手動で読み込むことができます。 – Ollie

関連する問題