構文
REPH[EADER] [PAGE] [printspec [text | variable] ...]| [ON | OFF]
printspecには、テキストの配置および書式設定に使用される次の句のうちの1つ以上を指定します。
COL nS[KIP] [n]TAB nLE[FT]CE[NTER]R[IGHT]BOLD FORMAT text
各レポートの上部に、指定したレポート・ヘッダーを配置して書式設定したり、現行のREPHEADER定義を表示します。
現行のREPHEADER定義を表示するには、句を指定しないでREPHEADERのみを入力します。
項
これらの項および句は、REPFOOTERコマンドにも適用されます。
PAGE
指定したレポート・ヘッダーを印刷した後または印刷する前に、新規ページが開始されます。
text
レポート・ヘッダーまたはレポート・フッターのテキストを指定します。1行に2つ以上の語を入れるには、textを一重引用符で囲んで入力します。デフォルトはNULLです。
variable
置換変数、または次のシステム管理値のいずれかを指定します。SQL.LNOはカレント行の番号です。SQL.PNOは現行のページ番号です。SQL.CODEは現行のエラー・コードです。SQL.RELEASEは現行のOracle Databaseのリリース番号です。SQL.USERは現行のユーザー名です。
これらの値の1つを出力するには、適切な変数をレポート・ヘッダーまたはレポート・フッターの中で参照します。FORMAT句を使用して、variableの形式を設定できます。
OFF
定義に影響を与えずに、レポート・ヘッダーまたはレポート・フッターをオフ(非表示)にします。
COL n
カレント行の列nまでインデントします(列nを過ぎている場合は、後退します)。ここでいう「列」とは、印刷位置のことで、表の列ではありません。
S[KIP] [n]
新規行の先頭までn回スキップします。nを省略すると、1回スキップします。nに0を入力すると、カレント行の先頭まで戻ります。
TAB n
n列分前方に(nに負の値を入力した場合は後方に)スキップします。ここでいう「列」とは、印刷位置のことで、表の列ではありません。
LE[FT] CE[NTER] R[IGHT]
カレント行のデータを、それぞれ左揃え、中央揃えおよび右揃えにします。SQL*Plusは、printspecの終わりまで、あるいは次のLEFT、CENTER、RIGHTまたはCOLコマンドまでのデータ項目を、1グループとして整列させます。CENTERおよびRIGHTでは、SET LINESIZE値を使用し、後続のデータ項目の位置が計算されます。
BOLD
データを太字で印刷します。SQL*Plusは、端末上で同じデータを3回続けて出力することによって、太字印刷を行います。一部のオペレーティング・システムでは、SQL*Plusがプリンタにテキストを太字でなく3回連続で印刷するように指示することがあります。
FORMAT text
次のFORMAT句まで、またはこのコマンドの終わりまでの、データ項目の書式を決定する書式モデルを指定します。書式モデルは、A10や$999などのテキスト定数である必要があります。書式設定および有効な書式モデルの詳細は、「COLUMN」を参照してください。
書式モデルのデータ型が、指定したデータ項目のデータ型と一致しない場合、FORMAT句はその項目には影響しません。
指定したデータ項目の前に適切な書式モデルがない場合、SQL*Plusは、SET NUMFORMATで指定された書式に従って、NUMBER値を出力します。また、SET NUMFORMATが指定されていない場合はデフォルトの書式に従って、NUMBER値を出力します。SQL*Plusは、デフォルトの書式を使用してDATE値を出力します。
使用方法
テキストまたは変数の前にprintspec句を入力しない場合、REPHEADERは、テキストまたは変数を左揃えにします。
printspecには、定数および変数をいくつでも指定できます。SQL*Plusは、定数および変数を指定した順序で表示し、それぞれの定数または変数をその直前のprintspec句で指定されている位置および書式に設定します。
例
「EMPLOYEE LISTING REPORT」を独立ページのレポート・ヘッダーとして定義して、中央揃えにするには、次のように入力します。
REPHEADER PAGE CENTER 'EMPLOYEE LISTING REPORT' TTITLE RIGHT 'Page: ' FORMAT 999 SQL.PNO SELECT LAST_NAME, SALARY FROM EMP_DETAILS_VIEW WHERE SALARY > 12000;
Page: 1 EMPLOYEE LISTING REPORT Page: 2 LAST_NAME SALARY ------------------------- ---------- King 24000 Kochhar 17000 De Haan 17000 Russell 14000 Partners 13500 Hartstein 13000 ---------- sum 98500 6 rows selected. |
レポート・ヘッダーの定義を変更せずに非表示にするには、次のように入力します。
REPHEADER OFF