FC2ブログ

北アラバ公国

UNIX、ORACLE、NETWORK等、IT、情報通信に関する話題と技術メモ。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

OracleのSQL*PlusでSQLの実行結果をページ毎に一時停止して表示する方法

OracleSQL*Plusなどで、select文を実行した時の実行結果を1ページ毎に一時停止して表示したい場合は、SQL*Plusのプロンプトから「set pauseコマンドを実行します。以下に私の環境での実行結果を示します。

1.select文を実行
SQL> set pagesize 10
SQL> column OWNER format a10
SQL> column TABLE_NAME format a25
SQL> column TABLESPACE_NAME format a10
SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME from dba_tables
2 where OWNER='DBSNMP';

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_SNAPSHOT SYSAUX
DBSNMP MGMT_SNAPSHOT_SQL SYSAUX
DBSNMP MGMT_BASELINE SYSAUX
DBSNMP MGMT_BASELINE_SQL SYSAUX
DBSNMP MGMT_CAPTURE SYSAUX
DBSNMP MGMT_CAPTURE_SQL SYSAUX
DBSNMP MGMT_RESPONSE_CONFIG SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_LATEST SYSAUX
DBSNMP MGMT_LATEST_SQL SYSAUX
DBSNMP MGMT_HISTORY SYSAUX
DBSNMP MGMT_HISTORY_SQL SYSAUX
DBSNMP MGMT_BSLN_DATASOURCES SYSAUX
DBSNMP MGMT_BSLN_BASELINES SYSAUX
DBSNMP MGMT_BSLN_INTERVALS SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_BSLN_METRICS SYSAUX
DBSNMP MGMT_BSLN_STATISTICS SYSAUX
DBSNMP MGMT_BSLN_THRESHOLD_PARMS SYSAUX
DBSNMP MGMT_DB_SIZE_GTT
DBSNMP MGMT_DB_FILE_GTT
DBSNMP MGMT_BSLN_RAWDATA
DBSNMP MGMT_TEMPT_SQL

21行が選択されました。

SQL>
上記の場合、行頭で「set pagesize 10」を実行している通り、1ページは10行に設定されております。そのため実行結果は1ページ(10行)毎にヘッダー(タイトル行)が入っております。しかし現在は上記SQLを実行すると、ページの区切りに関係なく一気に全ての実行結果を表示します。

2.「set pause on」コマンドを実行
SQL> set pause on
SQL>
set pause onコマンドを実行すると、1ページ毎、「set pagesizeコマンドで指定された1ページの行数毎に一時停止して実行結果を表示します。

3.select文を実行
SQL> set pause on
SQL> set pagesize 10
SQL> column OWNER format a10
SQL> column TABLE_NAME format a25
SQL> column TABLESPACE_NAME format a10
SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME from dba_tables
2 where OWNER='DBSNMP';

ここで一旦表示が一時停止します。エンターキー(改行キー)を押下すると次のページを表示します。
OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_SNAPSHOT SYSAUX
DBSNMP MGMT_SNAPSHOT_SQL SYSAUX
DBSNMP MGMT_BASELINE SYSAUX
DBSNMP MGMT_BASELINE_SQL SYSAUX
DBSNMP MGMT_CAPTURE SYSAUX
DBSNMP MGMT_CAPTURE_SQL SYSAUX
DBSNMP MGMT_RESPONSE_CONFIG SYSAUX

ここで一旦表示が一時停止します。エンターキー(改行キー)を押下すると次のページを表示します。
OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_LATEST SYSAUX
DBSNMP MGMT_LATEST_SQL SYSAUX
DBSNMP MGMT_HISTORY SYSAUX
DBSNMP MGMT_HISTORY_SQL SYSAUX
DBSNMP MGMT_BSLN_DATASOURCES SYSAUX
DBSNMP MGMT_BSLN_BASELINES SYSAUX
DBSNMP MGMT_BSLN_INTERVALS SYSAUX

ここで一旦表示が一時停止します。エンターキー(改行キー)を押下すると次のページを表示します。
OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_BSLN_METRICS SYSAUX
DBSNMP MGMT_BSLN_STATISTICS SYSAUX
DBSNMP MGMT_BSLN_THRESHOLD_PARMS SYSAUX
DBSNMP MGMT_DB_SIZE_GTT
DBSNMP MGMT_DB_FILE_GTT
DBSNMP MGMT_BSLN_RAWDATA
DBSNMP MGMT_TEMPT_SQL

21行が選択されました。

SQL>
このように、「set pause onコマンドを実行すると、1ページ毎、「set pagesize コマンドで指定された1ページの行数毎に一時停止して実行結果を表示するようになります。

4.「set pause off」コマンドを実行
SQL> set pause off
SQL>
これでページ毎の一時停止表示が解除されます。

5.select文を実行
SQL> set pagesize 10
SQL> column OWNER format a10
SQL> column TABLE_NAME format a25
SQL> column TABLESPACE_NAME format a10
SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME from dba_tables
2 where OWNER='DBSNMP';

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_SNAPSHOT SYSAUX
DBSNMP MGMT_SNAPSHOT_SQL SYSAUX
DBSNMP MGMT_BASELINE SYSAUX
DBSNMP MGMT_BASELINE_SQL SYSAUX
DBSNMP MGMT_CAPTURE SYSAUX
DBSNMP MGMT_CAPTURE_SQL SYSAUX
DBSNMP MGMT_RESPONSE_CONFIG SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_LATEST SYSAUX
DBSNMP MGMT_LATEST_SQL SYSAUX
DBSNMP MGMT_HISTORY SYSAUX
DBSNMP MGMT_HISTORY_SQL SYSAUX
DBSNMP MGMT_BSLN_DATASOURCES SYSAUX
DBSNMP MGMT_BSLN_BASELINES SYSAUX
DBSNMP MGMT_BSLN_INTERVALS SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_BSLN_METRICS SYSAUX
DBSNMP MGMT_BSLN_STATISTICS SYSAUX
DBSNMP MGMT_BSLN_THRESHOLD_PARMS SYSAUX
DBSNMP MGMT_DB_SIZE_GTT
DBSNMP MGMT_DB_FILE_GTT
DBSNMP MGMT_BSLN_RAWDATA
DBSNMP MGMT_TEMPT_SQL

21行が選択されました。

SQL>
最初と同じように実行結果がページ毎に一時停止することなく、一気に表示されるようになりました。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/07(月) 23:17:38|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0
<<Oracleデータベースに接続せずにSQL*Plusを起動する方法 | ホーム | OracleのSQL*Plusで表示される1ページの行数を変更する方法>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://northaraba.blog17.fc2.com/tb.php/535-c1df47a8
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。