SQL*Plus > SET FEEDBACK

FEEDBACK システム変数

FEEDBACK は問い合わせの結果レコード件数表示のあり/なしを設定する。

  • 短縮形は FEED
  • デフォルト値 6

SET FEEDBACK コマンド

SET FEEDBACK コマンドの構文

SET FEEDBACK 行数
SET FEEDBACK ON
SET FEEDBACK OFF

短縮形

SET FEED 行数
SET FEED ON
SET FEED OFF

デフォルト

SET FEEDBACK 6

デフォルトは問い合わせの結果レコードが 6 レコード以上の場合にメッセージを表示する。(0 件の場合も表示)
SET FEEDBACK ON と SET FEEDBACK 1 は同じ意味、SET FEEDBACK OFF と SET FEEDBACK 0 (ゼロ) も同じ結果になる。

FEEDBACK の設定例

フィードバックを 5 行から表示するようにする。

SQL> SET FEEDBACK 5
SQL> select * from test where rownum <= 0;
レコードが選択されませんでした。 ← メッセージが表示される
 
SQL> select * from test where rownum <= 1;
C1
--------------------
A
 ← メッセージは表示されない
 
SQL> select * from test where rownum <= 4;
C1
--------------------
A
B
C
D
 
SQL> select * from test where rownum <= 5;
C1
--------------------
A
B
C
D
E
 
5行が選択されました。 ← メッセージが表示される

SET FEEDBACK と 問い合わせ以外の SQL

SET FEEDBACK では問い合わせ結果の他、DDL の実行時の応答メッセージや PL/SQL の実行時の応答メッセージも OFF になる。

UPDATE 文 (DML)

SQL> SET FEEDBACK 100   ← 更新件数による表示有無への影響はない(問い合わせ結果件数のみ)
SQL> update test set c1 = 'hoge';
6行が更新されました。
 
SQL> SET FEEDBACK OFF
SQL> update test set c1 = 'hoge';
SQL>

CREATE TABLE (DDL)

SQL> SET FEEDBACK ON
SQL> create table test1 (c varchar(8));
 
表が作成されました。
 
SQL> SET FEEDBACK OFF
SQL> create table test2 (c varchar(8));
SQL>

無名ブロック (PL/SQL)

SQL> SET FEEDBACK ON
SQL> set serveroutput on
SQL> begin
  2    dbms_output.put_line('test');
  3  end;
  4  /
test
 
PL/SQLプロシージャが正常に完了しました。
 
SQL> SET FEEDBACK OFF
SQL> set serveroutput on
SQL> begin
  2    dbms_output.put_line('test');
  3  end;
  4  /
test
SQL>


関連事項

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)