【PL/SQL】システム変数の一覧


ここではORACLE社が提供するPL/SQLでシステム変数をセットする方法を紹介しています。

システム変数とは

OracleのSQL*Plusにおけるシステム変数とは、SQL*Plusの環境設定を変更することが出来る変数です。

システム変数はセッション毎に変更することが出来るので、プログラムの実行時やデータベース上での作業を行う都度、適切な環境に変更して使うことが出来ます。

システム変数を設定と確認方法

システム変数の設定

システム変数はSETコマンドを使って設定します。

SETコマンドを使った基本構文は次の通りです。

SET システム変数名 設定値

次の例では、echoというシステム変数にOFFを設定しています。
このように「SET システム変数名 設定値」でシステム変数の設定が可能です。

SQL> set echo off

システム変数の確認

システム変数は、SHOWコマンドで現在の値を確認することが出来ます。

SHOWコマンドの基本構文は次の通りです。

SHOW システム変数名

次の例では、echo変数の値を確認しています。現在はOFFになっていることが分かります。

SQL> show echo
echo OFF

システム変数の一覧

システム変数内容
SET APPINFO {ON | OFF | text}DBMS_APPLICATION_INFOパッケージでスクリプトの自動登録の設定
SET ARRAYSIZE {15 | n}データベースから一度にフェッチする配列の大きさ
SET AUTOCOMMIT {ON | OFF | IMM[EDIATE] | n}トランザクションを自動でコミットする設定
SET AUTOPRINT  {ON | OFF}バインド変数の自動出力
SET AUTORECOVERY [ON | OFF]RECOVERYコマンドでアーカイブREDOログファイルのデフォルトファイル名を自動的に適用するための設定
SET AUTOTRACE {ON | OFF | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]正常に実行されたSQL(DML文)のレポートを表示
SET BLOCKTERMINATOR {. | c | ON | OFF}PL/SQLブロックを終了するための文字の設定
SET CMDSEP {; | c | ON | OFF}SQLPlusコマンドを区切るための文字の設定
SET COLSEP { | text}列と列の間に出力する文字の設定
SET CONCAT {. | c | ON | OFF}変数と「変数に続く文字列」との区切り文字に使用される文字の設定
SET COPYCOMMIT {0 | n}COPYコマンドによるコミットポイントの設定
SET COPYTYPECHECK {ON | OFF}COPYコマンドによる、表へのレコードの挿入または追加するときのデータ型のチェックの設定
SET DEFINE {& | c | ON | OFF}置換変数の接頭辞、ON/OFFの設定
SET DESCRIBE [DEPTH {1 | n | ALL}] [LINENUM {ON | OFF}] [INDENT {ON | OFF}]DESCコマンドの表示レベルの設定
SET ECHO {ON | OFF}SQLPlusでコマンドの表示設定
SET EDITFILE file_name[.ext]EDITコマンドのデフォルトファイル名の設定
SET EMBEDDED {ON | OFF}ページで各レポートが始まるかを設定
SET ERRORLOGGING {ON | OFF} [TABLE [schema.]tablename] [TRUNCATE] [IDENTIFIER identifier]各エラーを表に出力する設定
SET ESCAPE {\ | c | ON | OFF}エスケープ文字の設定
SET ESCCHAR {@ | ?| % | $ | OFF}ファイル名でエスケープする特殊文字を設定
SET EXITCOMMIT {ON | OFF}EXITコマンドのデフォルト動作をCOMMITにするかROLLBACKにするか設定
SET FEEDBACK {6 | n | ON | OFF}問合せ結果の件数の表示・非表示の設定、または表示する最小の件数の設定
SET FLAGGER {OFF | ENTRY | INTERMED[IATE] | FULL}SQL文がANSI/ISO SQL92規格に準拠しているかチェックするかの設定
SET FLUSH {ON | OFF}画面出力(バッファ)の設定
SET HEADING {ON | OFF}結果の列ヘッダの出力の設定
SET HEADSEP { | c | ON | OFF}結果の列ヘッダの区切り文字の設定
SET INSTANCE [instance_path | LOCAL]現行セッションのデフォルトのインスタンスの設定
SET LINESIZE {80 | n}SQLPlusで1行に表示する文字数の設定
SET LOBOFFSET {1 | n}BLOB、BFILE、CLOB、NCLOBデータを取得し、表示する開始位置の設定
SET LOGSOURCE [pathname]RECOVERYコマンドで使用するアーカイブ・ログファイルの位置の設定
SET LONG {80 | n}LONG、BLOB、BFILE、CLOB、NCLOBおよびXMLType値を表示するための表示幅の設定
SET LONGCHUNKSIZE {80 | n}LONG、BLOB、BFILE、CLOB、NCLOBおよびXMLType値を取得するためのチャンクサイズの設定
SET MARKUP HTML [ON | OFF] [HEAD text] [BODY text] [TABLE text] [ENTMAP {ON | OFF}] [SPOOL {ON | OFF}] [PRE[FORMAT] {ON | OFF}]HTMLマークアップテキスト形式に変換するかどうかの設定
SET NEWP[AGE] {1 | n | NONE}ページの開始位置からヘッダまでの余白行数の設定
SET NULL textSELECTコマンドで実行結果の中にあるNULL値を代替する文字の設定
SET NUMFORMAT format数値を表示するためのデフォルト書式の設定
SET NUMWIDTH {10 | n}数値を表示するためのデフォルト表示幅の設定
SET PAGESIZE {14 | n}ページの行数の設定
SET PAUSE {ON | OFF | text}一時停止の設定
SET RECSEP {WR[APPED] | EA[CH] | OFF}レコードを分離させるためのレコードセパレータの表示・非表示の設定
SET RECSEPCHAR { | c}レコードセパレータとして表示する文字の設定
SET SERVEROUTPUT {ON | OFF} [SIZE {n | UNL[IMITED]}] [FOR[MAT] {WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]}]PL/SQLの処理を標準出力するかどうかの設定の出力(DBMS_OUTPUT.PUT_LINE、PL/SQLブロックの出力をSQLPlusで表示するかどうかを制御する)
SET SHIFTINOUT {VIS[IBLE] | INV[ISIBLE]}シフト文字の表示するかどうかの設定
SET SHOWMODE {ON | OFF}SETを使用したとき、システム変数の変更前後の値を表示するかどうかの設定
SET SQLBLANKLINES {ON | OFF}SQLコマンド、スクリプト内で空白行を許可するかどうかの設定
SET SQLCASE {MIX[ED] | LO[WER] | UP[PER]}SQLコマンド、PL/SQLブロックで入力された文字を、大文字または小文字に変換するかどうかの設定
SET SQLCONTINUE {> | text}SQLPlusで複数行のコマンドを入力する場合の設定
SET SQLNUMBER {ON | OFF}複数行のコマンド、スクリプトに行番号を表示するかどうかの設定
SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]}動作が確認できるSQLPlusのバージョン設定
(x.y[.z]で指定されたリリースまたはバージョン互換に設定)
SET SQLPREFIX {# | c}SQLPlusの接頭文字の設定
SET SQLPROMPT {SQL> | text}SQLPlusのコマンドプロンプトに表示される文字列の設定
SET SQLTERMINATOR {; | c | ON | OFF}SQLコマンドを終了・実行するための文字の設定
SET SUFFIX {SQL | text}SQLPlusが使用するスクリプトファイルのデフォルト拡張子の設定
SET TAB {ON | OFF}SQLPlusでタブを表示するかどうかの設定
SET TERMOUT {ON | OFF}スクリプトから実行するコマンドによる出力(@、@@またはSTARTを使用して実行するスクリプト)を表示するかどうかの設定
SET TIME {ON | OFF}SQLPlusに現在の時刻を表示するかどうかの設定
SET TIMING {ON | OFF}タイミング統計(経過時間など)の表示をするかどうかの設定
SET TRIMOUT {ON | OFF}SQLPlusで表示結果の各行の終わりから行末まで空白を入れるかどうかの設定
SET TRIMSPOOL {ON | OFF}SQLPlusで、スプールの各行の終わりから行末までに空白を入れるかどうかの設定
SET UNDERLINE {- | c | ON | OFF}SQLPlusで列ヘッダに下線を表示するかどうかの設定
SET VERIFY {ON | OFF}置換変数で変更前後の状態を表示するかどうかの設定
SET WRAP {ON | OFF}1行に収まらない場合、収まらない部分を折り返すか切り捨てるかの設定