12.37 REPHEADER

構文

REPH[EADER] [PAGE] [printspec [text | variable] ...]  | [ON | OFF]

printspecには、テキストの配置および書式設定に使用される次の句のうちの1つ以上を指定します。

COL n S[KIP] [n] TAB n LE[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