HOME > システム変数編
システム変数
システム変数でSQL*Plusでの表示方法や動作を設定できます。この設定は起動したSQL*Plus毎に設定できるので、同じOracleServerに接続する複数のクライアント毎に値を設定できます。
システム変数の設定
設定方法には、SQL*Plus起動後にコマンドラインから SET~ で1つずつ設定する方法と、設定ファイルに記述しておいてSQL*Plus起動時に自動的に設定する方法があります。
- <コマンドラインから設定する方法>
- 「SET システム変数名 値」 の書式で設定します。 (例)1行の表示文字数を200文字に設定する → SET LINESIZE 200 (例)コマンドの実行に掛かった時間を都度表示させる → SET TIMING ON
- <SQL*Plus起動時に自動で設定する方法>
- (例)テキストファイルにコマンドラインから設定するのと同じ書式で記述して、 「login.sql」というファイル名で以下のフォルダに保存する。 %ORACLE_HOME%dbs (%ORACLE_HOME%とはオラクルがインストールされているフォルダの事です。)
現在のシステム変数の設定値を確認したい場合は「SHOW システム変数名」で確認できます。
(SHOW ALL とやると全てのシステム変数名と設定値を確認できます。)
システム変数一覧
※太字はよく使用されると思われるコマンドです。
| システム変数名 | 説明 |
|---|---|
| all | システム変数の一覧と設定値を表示する |
| appinfo | スクリプトの進行状況を指定 |
| arraysize | DBから一度にFETCHする行数を指定 (デフォルト15) |
| autocommit | オートコミットをするかしないか (ON/OFF) オートコミットとはUPDATE,INSERT,DELETEが正常終了した時点で自動的にCOMMITも実行される機能の事です |
| autoprint | コマンド実行後にバインド変数を表示するかしないかの設定 |
| autorecovery | RECOVERYコマンドでアーカイブログファイル名の自動補完の設定 |
| autotrace | SQLを実行する度に実行計画を表示する (ON/OFF) ※事前にプランテーブルの作成が必要。(utlxplan.sql) |
| blockterminator | PL/SQLブロックの終了文字の設定 |
| btitle | |
| cmdsep | 1行に複数のSQL*Plusコマンドの記述を許すかどうか(ON/OFF/セパレータ) |
| colsep | 検索時のカラムの区切り |
| compatibility | SQLのバージョンを指定する(デフォルト:NATIVE) |
| concat | |
| copycommit | COPYコマンドのコミットポイントの設定 |
| copytypecheck | COPYコマンドの型チェックの設定(有効/無効) |
| define | 置換変数の設定(有効/無効) |
| describe | desc(ribe)コマンドの表示方法の設定 |
| echo | コマンドファイル実行時にコマンドを表示するかしないかの設定 |
| editfile | editコマンドで一時的に値を保存するファイルの名称 |
| embedded | |
| error[s] | 一番最後に発生したエラーを表示する |
| escape | エスケープ文字を設定する (ON/OFF/設定値) (ONを設定した場合はデフォルト値の「\」が適用される) |
| feedback | 検索結果の最後に件数を表示する場合はONを指定する |
| flagger | SQL92に準拠しているかどうかを調べる設定 |
| flush | 画面出力時のバッファ使用の有無の設定 |
| heading | 検索結果にカラム名を表示させる場合はON |
| headsep | 列ヘッダの区切り文字設定 |
| instance | デフォルトインスタンスを設定 |
| linesize | 1行に表示できる最大文字数を設定する |
| lno | |
| loboffset | CLOB,NCLOB型の取出し開始位置の設定 |
| logsource | recoveryコマンドでのアーカイブログファイル位置の設定 |
| long | LONG型の表示幅の設定 |
| longchunksize | LONG型のチャンクサイズの設定 |
| markup | 出力形式をHTML形式にする場合はon |
| newpage | ヘッダー(カラム名の行)の上に表示させる空白行数 |
| null | 検索結果がnullの時に表示させる文字 (ex:null) |
| numformat | 検索結果が数値の時に使用するフォーマット形式 (フォーマット形式については→フォーマット形式編をご覧ください。) |
| numwidth | 検索結果が数値の時に表示可能な最大桁数を設定する |
| pagesize | 検索結果に挿入するヘッダーの間隔 (ここで指定した値ごとに検索結果にカラム名が表示される) |
| parameter[s] | 初期化パラメータ設定値を確認する |
| pause | pagesizeの値ごとに表示を止める(ON)/止めない(OFF) |
| pno | |
| recsep | レコードセパレータの表示の有無設定 |
| recsepchar | レコードセパレータに表示する文字 |
| release | リリース番号を確認する |
| repfooter | |
| repheader | |
| serveroutput | DBMS_OUTPUT.PUT_LINE(ストアドでデバッグ用の文字列などを出力できるパッケージです)の結果を表示する場合はONを指定する |
| sga | SGAのサイズを確認する(SHOWのみ) |
| shiftinout | シフト文字の表示の有無設定 |
| showmode | システム変数を変更した時に、変更前・後の値を表示するかどうかの設定 |
| spool | コマンドの実行結果をファイルに吐き出すかどうかの設定 (出力時:spool ファイル名 / 停止時:spool off) |
| sqlblanklines | SQL文中に空白行を許可する(ON)/しない(OFF)の設定 |
| sqlcase | コマンドを実行する前に小/大文字に変換する upper:大文字 lower:小文字 mixed:変換なし |
| sqlcode | 一番最後に発生したSQLコードを表示する |
| sqlcontinue | SQL*Plusで複数行入力時のプロンプトの設定 |
| sqlnumber | SQL入力途中で改行を入れる時、行番号を表示するかしないかの設定 |
| sqlpluscompatibility | 動作保証されるSQL*Plusのバージョンの設定 |
| sqlprefix | SQL*Plus の接頭文字を設定する |
| sqlprompt | SQL*Plusのコマンド待ち時の表示 (ex:SQL>) |
| sqlterminator | SQLコマンドの終了を意味する文字を指定する (デフォルトは";") |
| suffix | エディットファイル名のデフォルトの拡張子 (ex:.sql) |
| tab | SQL*Plusが出力する空白を指定する(off:空白→空白、on:空白→tab) |
| termout | ファイルからコマンドを実行した時の画面への出力を指定する ON:出力する OFF:出力しない |
| time | ONにするとコマンドラインの先頭に現在時刻を表示する |
| timing | SQLを実行する度に実行に掛かった時間を表示する (ON/OFF) (SQLの実行時間を調べたい時に便利です) |
| trimout | SQL*Plusの出力行の最後に後続の空白を入れるかどうかを指定する |
| trimspool | SPOOLした結果行のうしろに付く空白の処理 ON:空白を無くす OFF:空白を無くさない |
| ttitle | |
| underline | 検索結果のカラム名の下に表示する文字 (ex: - ) |
| user | 自分のユーザ名を表示する(SHOWのみ) |
| verify | 置換変数に設定した時の状態を表示するしないの設定 |
| wrap | 実行結果が1行(linesizeの桁数)に収まらない場合の表示形式を指定 ON:折返して表示 OFF:切捨て |
※ [ ]内の文字は省略可です。

