SQL Developerを使用しており、DBMS_OUTPUT.PUT_LINE()を使用して変数の内容をコンソールに出力したい。 1から5までの数字を追加する次のコードを実行していますが、出力が表示されません。
SET SERVEROUTPUT ON;
DECLARE
n_counter NUMBER := 5; -- Substitute this variable
n_sum NUMBER := 0;
BEGIN
WHILE n_counter != 0
LOOP
n_sum := n_sum + n_counter;
n_counter := n_counter -1;
END LOOP;
DBMS_OUTPUT.PUT_LINE(n_sum);
END;
さらに、問題をトラブルシューティングするための非常に豊富なOracle PL/SQLドキュメントよりも優れたリソースを知っていますか? [Java SE7 API?]と同様)
SQL Developerを使用しているため、いくつかのオプションがあります。
SQL Developerで、View | DBMS Output
に移動して、DBMS出力ウィンドウが表示されることを確認します。 [DBMS出力]ウィンドウで[プラス]アイコンを選択し、DBMS出力ウィンドウにデータを書き込む接続を選択します。次に、右矢印(WindowsではCtrl + Enter)を使用して、SQL WorksheetウィンドウでPL/SQLブロックを実行します。 [DBMS出力]ウィンドウに出力が表示されます。
または、SQL * Plus SET SERVEROUTPUT ON
コマンドとPL/SQLブロックの両方をSQLワークシートに入れて、スクリプト(WindowsのF5)として実行できます。これにより、スクリプト出力ウィンドウの「匿名ブロック完了」メッセージのすぐ下に出力が表示されます。
注:Oracle Sql DeveloperのDbms出力では、出力ウィンドウにnullは表示されません。新しい行に移動しますが、null以外のものを返すまで、以前のnullがすべて存在することはわかりません。