web-dev-qa-db-ja.com

初歩的な問題:基本的なPL / SQLコンソール出力?

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?]と同様)

25
user1260503

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がすべて存在することはわかりません。

46
Justin Cave