1 Oracle SQLclの操作

Oracle SQLcl (SQL Developerコマンドライン)は、Oracle Database用のJavaベースのコマンドライン・インタフェースです。SQLclを使用すると、SQL文およびPL/SQL文を対話式またはバッチで実行できます。SQLclは、インライン編集、文の完了、コマンドの再呼出しを提供し、既存のSQL*Plusスクリプトもサポートします。

この章のトピックは、次のとおりです:

1.1 SQLclコマンド(アルファベット順)

@{url | file_name[.ext]} [arg ]

@@ { url | file_name[.ext] } [arg ]

/ (スラッシュ)

ACC[EPT] [NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE]

ALIAS [<name>=<SQL statement>;| LOAD [<filename>]|SAVE [<filename>] | LIST [<NAME>] | DROP <name> | DESC <name>  <Description String>]

APEX [export <application_id>]

A[PPEND] text

ARCHIVE LOG LIST

BRE[AK] [ON report_element [action [action]]] ...

BRIDGE

BTI[TLE] [printspec [text | variable] ...] | [ON | OFF]

CD [<directory>]

C[HANGE] sepchar old [sepchar [new [sepchar]]]

CL[EAR] option ...

COL[UMN] [{column | expr} [option ...]]

COMP[UTE] [function [LAB[EL] text] ... OF {expr | column | alias} ...ON {expr | column | alias | REPORT | ROW} ...]

CONN[ECT] [{<logon>| / |proxy} [AS {SYSOPER | SYSDBA | SYSASM}] [edition=value]]

CTAS table new_table

COPY {FROM database | TO database | FROM database TO database} {APPEND | CREATE | INSERT | REPLACE | APPEND_BYTE | CREATE_BYTE | REPLACE_BYTE} destination_table[(column, column, column, ...)] USING query

DDL [object_name [type] [SAVE filename]]

DEF[INE] [variable] | [variable = text]

DEL [n | n m | n * | n LAST | * | * n | * LAST | LAST]

DESC[RIBE] {[schema.]object[@connect_identifier]}

DISC[ONNECT]

ED[IT] [file_name[.ext]]

EXEC[UTE] statement

{EXIT | QUIT} [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT | ROLLBACK]

FIND [<filename>]

FORMAT [BUFFER | RULES <filename> | FILE <input_file> <output_file>]

GET  [FILE] file_name[.ext] [LIST | NOLIST]

HELP | ? [topic]

HISTORY [index | FULL | USAGE | SCRIPT | TIME | CLEAR (SESSION)?]

HO[ST] [command]

INFO[RMATION] {[schema.]object[@connect_identifier]}

I[NPUT] [text]

L[IST] [n | n m | n * | n LAST | * | * n | * LAST | LAST]

LOAD [schema.]table_name[@db_link] file_name

OERR <facility> <error>

PASSW[ORD] [username]

PAU[SE] [text]

PRINT [variable ...]

PRO[MPT] [text]

{QUIT | EXIT} [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT | ROLLBACK]

REM[ARK]

REPEAT <iterations> <sleep>

REST [export [<module_name> | <module_prefix>] | modules | privileges | schemas]

R[UN]

SAV[E] [FILE] file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]]

SCRIPT <script file>

SET system_variable value

SHO[W] [option]

SHUTDOWN [ABORT | IMMEDIATE | NORMAL | TRANSACTIONAL [LOCAL]]

SODA

SPO[OL] [filename[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]

SSHTUNNEL <username>@<hostname> -i <identity_file> [-L localPort:Remotehost:RemotePort]

STA[RT] { url | file_name[.ext] } [arg ...]

STARTUP db_options | cdb_options | upgrade_options

STORE {SET} file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]]

TNSPING <address>

TTI[TLE] [printspec [text | variable] ...] | [ON | OFF]

UNDEF[INE] variable ...

WHENEVER OSERROR {EXIT [SUCCESS | FAILURE | n | variable | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE[COMMIT | ROLLBACK | NONE]}

WHENEVER SQLERROR {EXIT [SUCCESS | FAILURE | WARNING | n | variable  | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}

WHICH <filename>

XQUERY xquery_statement

注意:

上下の矢印キーを使用して、前の100の文またはスクリプトを循環表示できます。

1.2 SQL*Plusでサポートされていないコマンドおよび機能のリスト

コマンド

  • REPHEADER
  • REPFOOTER
  • TIMING

TIMINGコマンドは、SET TIMINGコマンドに置き換えられています。

SETコマンドを介したシステム変数および環境設定

  • describe
  • flagger
  • fullcolname
  • logsource
  • loboffset
  • markup
  • recsep
  • shiftinout
  • sqlterminator
  • underline
  • xmloptimizationcheck

1.3 SQLclの起動および終了

次のコマンドを使用して、SQLclへのログインおよびログアウトを行います。

SQLCL [[option] [logon | / NOLOG] [start]]

ここで、optionの構文は次のとおりです。

-H[ELP]  | -V[ERSION]  | [ [-C[OMPATIBILITY] x.y[.z]]]  [-L[OGON]]   [-NOLOGINTIME] [-R[ESTRICT] {1 | 2 | 3}] [-S[ILENT]] [-AC]]

ここで、logonの構文は次のとおりです。

{username[/password] [@connect_identifier]  | /}  [AS {SYSASM |SYSBACKUP |SYSDBA |SYSDG |SYSOPER |SYSRAC |SYSKM}]  [edition=value]

ここで、startの構文は次のとおりです。

@{url | file_name[.ext]} [arg ...]

{EXIT | QUIT} [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT | ROLLBACK]

保留中の変更をすべてコミットまたはロールバックし、OracleをログアウトしてSQLclを終了し、制御をオペレーティング・システムに戻します。

{QUIT | EXIT} [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT | ROLLBACK]

保留中の変更をすべてコミットまたはロールバックし、OracleをログアウトしてSQLclを終了し、制御をオペレーティング・システムに戻します。

1.4 データベースの起動および停止

データベースの起動および停止には、DBA権限が必要です。

STARTUP db_options  | cdb_options | upgrade_options

ここで、db optionsの構文は次のとおりです。

[FORCE] [RESTRICT] [PFILE=filename] [QUIET]  [ MOUNT [dbname] |  [ OPEN [open_db_options] [dbname] ] | NOMOUNT ]

ここで、open_db_optionsの構文は次のとおりです。

READ {ONLY | WRITE [RECOVER]} | RECOVER

ここで、cdb_optionsの構文は次のとおりです。

root_connection_options | pdb_connection_options

ここで、root_connection_optionsの構文は次のとおりです。

PLUGGABLE DATABASE pdbname  [FORCE] | [RESTRICT]  [ OPEN {open_pdb_options}]

ここで、pdb_connection_optionsの構文は次のとおりです。

[FORCE] | [RESTRICT]  [ OPEN {open_pdb_options}]

ここで、open_pdb_optionsの構文は次のとおりです。

READ WRITE | READ ONLY

ここで、upgrade_optionsの構文は次のとおりです。

[PFILE=filename] {UPGRADE | DOWNGRADE} [QUIET]

データベースのマウントおよびオープンを含む様々なオプションを付けて、Oracle Databaseインスタンスを起動します。

SHUTDOWN [ABORT | IMMEDIATE |NORMAL| TRANSACTIONAL [LOCAL]]

現在実行中のOracleインスタンスを停止します。データベースのクローズおよびディスマウントが実行されます。

1.5 コマンドの入力および実行

次のコマンドを使用して、SQLコマンドおよびPL/SQLブロックの実行と経過時間に関する情報を収集します。

/ (スラッシュ)

SQLバッファに格納されている、最後に実行されたSQLコマンドまたはPL/SQLブロックを実行します。コマンドは表示されません。SQLclコマンドラインのコマンド・プロンプトまたは行番号プロンプトでスラッシュ(/)を使用します。

EXEC[UTE] statement

1つのPL/SQL文またはストアド・プロシージャを実行します。

R[UN]

SQLバッファに格納されている、最後に実行されたSQLclコマンドまたはPL/SQLブロックを表示して実行します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

TIMI[NG]

タイミングはスイッチとしてのみ使用できます。

次のコマンドを使用して、ヘルプ・システムにアクセスします。

HELP | ? [topic]

コマンドラインのヘルプ・システムにアクセスします。トピックのリストを表示するには、HELP INDEX または? INDEXを入力します。Oracle Databaseライブラリ(http://www.oracle.com/technology/documentation)を参照できます。

次のコマンドを使用して、オペレーティング・システムのコマンドを実行します。

HO[ST] [command]

SQLclを終了せずに、オペレーティング・システムのコマンドを実行します。オペレーティング・システムのプロンプトを表示するには、コマンドを含めずにHOSTを入力します。そのプロンプトでは、複数のオペレーティング・システム・コマンドを入力できます。

オペレーティング・システムによっては、HOSTのかわりに「!」などの文字を使用できます。(UNIXの場合、Windowsの場合は「$」)。詳細は、各オペレーティング・システム向けに提供されているOracleインストレーション・ガイドおよびユーザーズ・ガイドを参照してください。

次のコマンドを使用して、SQLclコマンドの履歴を再呼出しします。

HISTORY [index | FULL | USAGE | SCRIPT | TIME | CLEAR (SESSION)?] | FAILS

  • 上下の矢印キーを使用して、プロンプトで履歴アイテムをナビゲートします。

  • HISTORYコマンドは、履歴の内容を出力する場合に使用します。

  • 履歴は、最後の100文に制限されています。

  • SET HISTORY LIMIT Nでは、デフォルトの制限を変更できます。Nは最大数です。

  • 履歴はSQLclセッション間で保持されます。

  • デフォルトでは、SHOWHISTORYCONNECTおよびSETコマンドは履歴に保存されません。

  • SET HISTORY BLACKLISTを指定すると、履歴に記録しないコマンドを設定できます。

1.6 SQL、SQLclおよびPL/SQLコマンドの操作

次のコマンドを使用して、SQLコマンドおよびPL/SQLブロックを編集します。

A[PPEND] text

指定されたテキストを、SQLバッファ内の現在の行の末尾に追加します。前にある文字とtext を空白で区切るには、間に空白を2つ入力します。セミコロンで終わるtextを追加するには、コマンドを2つのセミコロンで終了します(単一のセミコロンはコマンド終了記号と解釈されます)。

C[HANGE] sepchar old [sepchar [new [sepchar]]]

SQLバッファの現在の行で最初に出現するoldを変更します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。sepcharには、スラッシュ(/)や感嘆符(!)などの英数字以外の文字が使用できます。CHANGEと最初のsepcharの間の空白は省略できます。

DEL [n | n m | n * | n LAST | * | * n | * LAST | LAST]

SQLバッファ内の行を1行以上削除します(アスタリスク(*)は現在の行を意味します)。DELnまたは*の間の空白は省略できますが、DELLASTの間の空白は省略できません。バッファの現在の行を削除するには、句を指定せずにDELを入力します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

I[NPUT] [text]

SQLバッファの現在の行の後に、1行以上のテキストを追加します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

L[IST] [n | n m | n * | n LAST | * | * n | * LAST | LAST]

SQLバッファに格納されている、最後に実行された1行以上のSQLコマンドまたはPL/SQLブロックを表示します。アスタリスク(*)は現在の行を示します。LISTnまたは*の間の空白は省略できますが、LISTLASTの間の空白は省略できません。すべての行を表示するには、句を指定せずにLISTを入力します。

SQLclでは、SQLバッファのすべての行を表示するために「;」を使用することもできます。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

次のコマンドを使用して、スクリプトを実行します。

@ { url | file_name[.ext] } [arg ]

指定したスクリプトのSQLcl文を実行します。スクリプトは、ローカル・ファイル・システムまたはWebサーバーから呼び出すことができます。通常どおり、値はスクリプト変数に代入できます。

@@ { url | file_name[.ext] } [arg ]

指定したスクリプトのSQLcl文を実行します。このコマンドは、@コマンドとほぼ同じです。呼出し元スクリプトと同じパスまたはurlで指定されたスクリプトを検索する追加機能があるため、ネストされたスクリプトを実行する場合に便利です。

REPEAT <iterations> <sleep>

スリープ間隔でバッファ内の現在のSQLを指定された回数繰り返します。最大スリープ間隔は120秒です。

SCRIPT <script file>

指定したスクリプトのSQLcl文を実行します。

STA[RT] { url | file_name[.ext] } [arg ...]

指定したスクリプトのSQLcl文を実行します。スクリプトは、ローカル・ファイル・システムまたはWebサーバーから呼び出すことができます。通常どおり、値はスクリプト変数に代入できます。

次のコマンドを使用して、スクリプトを作成および変更します。

ED[IT] [file_name[.ext]]

オペレーティング・システムのテキスト・エディタを起動します。テキスト・エディタには、指定したファイルの内容またはSQLバッファの内容が表示されます。バッファの内容を編集するときは、ファイル名を省略します。

DEFINE変数_EDITORを使用して、使用するエディタを設定できます。SQLclでは、_EDITORを好みのエディタに設定できます。Inlineは、エディタをSQLclエディタに設定します。次のショートカットがサポートされます。

  • ^R - 現行のバッファを実行

  • ^W - バッファの先頭に移動

  • ^S - バッファの最後に移動

  • ^A - 行頭に移動

  • ^E - 行末に移動

FORMAT

  • FORMAT BUFFER - SQLclバッファ内のスクリプトをフォーマットします

  • FORMAT RULES <filename> - SQLDeveloperフォーマッタ・ルール・ファイルをフォーマッタにロードします

  • FORMAT FILE <input_file> <output_file>

GET file_name[.ext] [LIST | NOLIST]

ファイルからSQLバッファに、SQL文またはPL/SQLブロックをロードします。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

REM[ARK]

スクリプト内でコメントを開始します。REMARKコマンドは、コメント行の先頭に指定する必要があります。また、コメントはその行の終わりで終了します(1行にコメントとコマンドの両方は記述できません)。SQLclはコメントをコマンドとして解釈しません。

SAV[E]  [FILE] file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]]

SQLバッファの内容をスクリプトに保存します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。

STORE {SET} file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]]

現行のSQLcl環境の属性をファイルに保存します。

WHENEVER OSERROR {EXIT [SUCCESS | FAILURE | n | variable  | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}

オペレーティング・システム・エラー(ファイルの書込みエラーなど)が発生した場合に、指定された処置(デフォルトでは、SQLclの終了)を実行します。

WHENEVER SQLERROR {EXIT [SUCCESS | FAILURE | WARNING | n | variable  | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}

SQLコマンドまたはPL/SQLブロックでエラーが発生した場合に、指定された処置(デフォルトでは、SQLclの終了)を実行します。

次のコマンドを使用して、対話形式のコマンドを記述します。

ACC[EPT] [NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE]

入力された行を読み込み、指定された置換変数に行の内容を格納します。

DEF[INE] [variable] | [variable = text]

置換変数を指定してCHAR型の値を割り当てるか、1つまたはすべての変数の値および変数タイプを表示します。

PAU[SE] [text]

指定されたテキストを表示して、[Enter]キーを押すまで一時停止します。

PRO[MPT] [text]

指定されたメッセージまたは空白行をユーザーの画面に送信します。

UNDEF[INE] variable ...

指定された1つ以上の置換変数を削除します。削除する置換変数には、DEFINEコマンドによって明示的に定義された変数、またはSTARTコマンドの引数によって暗黙的に定義された変数を指定できます。

次のコマンドを使用して、バインド変数を作成または表示します。

PRINT [variable ...]

バインド変数の現在の値またはすべてのバインド変数を表示します。

次の記号を使用して、スクリプト内で使用する置換変数およびパラメータを作成します。

&n

STARTコマンドで起動するスクリプトのパラメータを指定します。スクリプト名に続いて入力した最初の値が&1に代入され、2番目の値が&2に代入され、以降同様に続きます。

&user_variable, &&user_variable

SQLまたはSQLclコマンドで使用される置換変数を示します。SQLclは、検出した各置換変数に、指定された置換変数の値を代入します。置換変数が定義されていない場合、SQLclは&変数を検出するたびに値の入力をユーザーに要求します。&&変数の場合は、最初に検出したときのみ値の入力をユーザーに要求します。

. (ピリオド)

置換変数に続く文字が変数名の一部と解釈される可能性がある場合、ピリオド(.)によって置換変数名の末尾を示します。

1.7 問合せ結果の書式設定

次のコマンドを使用して、問合せ結果の書式設定、保存および表示を行います。

BRE[AK] [ON report_element [action [action]]] ...

次に示すような、レポートのどこで変更が発生するか、および実行する書式設定に関するアクションを指定します。

  • 特定の列について重複する値の非表示

  • 特定の列値が変更されるたびに1行スキップ

  • 特定の列値が変更されるたび、またはレポートの終わりに、計算された数値を出力

現在のBREAKの定義を表示するには、句を指定せずにBREAKを入力します。

ここで、report_elementの構文は次のとおりです。

{column | expression | ROW | REPORT}

ここで、actionの構文は次のとおりです。

[SKI[P] n | [SKI[P]] PAGE] [NODUP[LICATES] | DUP[LICATES]]

BTI[TLE] [printspec [text | variable] ...] | [ON | OFF]

各レポート・ページの下部にタイトルを配置し書式設定するか、または現行のBTITLE定義を表示します。printspecのかわりに、次のいずれかの句を使用します。

  • BOLD
  • CE[NTER]
  • COL n
  • FORMAT text
  • LE[FT]
  • R[IGHT]
  • S[KIP] [n]
  • TAB n

CL[EAR] option ...

指定したオプションの現行の値または設定をリセットまたは消去します。

optionは、次のいずれかの句を表します。

  • BRE[AKS]
  • BUFF[ER]
  • COL[UMNS]
  • COMP[UTES]
  • CONTEXT
  • SCR[EEN]
  • SQL
  • TIMI[NG]

COL[UMN] [{column | expr} [option ...]]

特定の列について次のような表示属性を指定します。

  • 列ヘッダーのテキスト

  • 列ヘッダーの位置

  • NUMBERデータの書式

  • 列データの折返し

また、1つまたはすべての列の現行の表示属性も表示します。

optionは、次のいずれかの句を表します。

  • ALI[AS] alias
  • CLE[AR]
  • ENTMAP {ON | OFF}
  • FOR[MAT] format
  • HEA[DING] text
  • JUS[TIFY] {L[EFT] | C[ENTER] | R[IGHT]}
  • LIKE {expr | alias}
  • NEWL[INE]
  • NEW_V[ALUE] variable
  • NOPRI[NT] | PRI[NT]
  • NUL[L] text
  • OLD_V[ALUE] variable
  • ON | OFF
  • WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]

注意:

現在、NEW_V[ALUE]変数構文のみがサポートされています。

COLUMN [{column |expr} FORMAT format]と入力します。ここでformat要素は列の表示書式を指定します。

NUMBER列の表示書式を変更するには、FORMATの後に、次の表のいずれかの要素を指定します。

要素 説明

, (カンマ)

9,999

指定した位置にカンマが表示されます。

. (ピリオド)

99.99

数値の整数部と小数部を区切るピリオド(小数点)が表示されます。

$

$9999

先行ドル記号が表示されます。

0

0999
9990

先行または後続ゼロ(0)を表示します。

9

9999

9の数で指定した桁数の値が表示されます。値には、正の値の場合は先行空白、負の値の場合は先頭に先行マイナス記号が表示されます。先行0(ゼロ)には空白が表示されます。0(ゼロ)の値には0(ゼロ)が表示されます。

B

B9999

書式モデル内の0(ゼロ)にかかわらず、整数部が0(ゼロ)の場合、固定小数点数の整数部に空白が表示されます。

C

C999

指定した位置にISO通貨記号が表示されます。

D

99D99

数値の整数部と小数部を区切る小数点文字が表示されます。

EEEE

9.999EEEE

値を科学表記法に従って表示します(指定するときは、必ずEを正確に4つ入力します)。

G

9G999

数値の整数部の指定した位置に桁グループ・セパレータが表示されます。

L

L999

指定した位置に各国通貨記号が表示されます。

MI

9999MI

負の値の後に後続マイナス記号が表示されます。正の値の後に、後続空白を表示します。

PR

9999PR

負の値は<山カッコ>で囲まれて表示されます。正の値の場合は、先行空白および後続空白が表示されます。

RN rn

RN
rn

大文字のローマ数字が表示されます。小文字のローマ数字が表示されます。値は1から3999の整数となります。

S

S9999
9999S

先行マイナス記号またはプラス記号が表示されます。後続マイナス記号またはプラス記号が表示されます。

TM

TM

小数点文字の最小の数が表示されます。デフォルトはTM9です。出力に使用される固定表記法の場合は最大64文字、科学表記法の場合は65文字以上です。TMの前に他の要素を指定することはできません。TMの後には単一の9またはEのみを指定できます。

U

U9999

指定した位置に、第2通貨記号が表示されます。

COMP[UTE] [function [LAB[EL] text] ... OF {expr | column | alias} ...ON {expr | column | alias | REPORT | ROW} ...]

BREAKコマンドと組み合せて、様々な標準計算を使用してサマリー行を計算および出力します。すべてのCOMPUTE定義もリスト表示します。次の表に有効な関数を示します。NUMBER以外の関数は、NULL値に対して使用できません。COMPUTEの関数は、常にAVG、COUNT、MINIMUM、MAXIMUM、NUMBER、SUM、STD、VARIANCEの順に実行されます。

関数 計算結果 適用されるデータ型
AVG

NULL以外の値の平均

NUMBER

COU[NT]

NULL以外の値の数

すべての型

MIN[IMUM]

最小値

NUMBER、CHAR、NCHAR、VARCHAR2(VARCHAR)、NVARCHAR2(NCHAR VARYING)

MAX[IMUM]

最大値

NUMBER、CHAR、NCHAR、VARCHAR2(VARCHAR)、NVARCHAR2(NCHAR VARYING)

NUM[BER]

行数

すべての型

SUM

NULL以外の値の合計

NUMBER

STD

NULL以外の値の標準偏差

NUMBER

VAR[IANCE]

NULL以外の値の平方偏差

NUMBER

SET SQLFORMAT {csv | html | xml | json | ansiconsole | insert | loader | fixed | default}

レポートを様々な形式で出力します。ansiconsoleオプションでは、読みやすくするために、列の幅に応じてデータの書式を設定したりサイズを変更します。jsonオプションは、問合せをJSON形式で返します。

SET SQLFORMAT DELIMITED <delimiter> <left enclosure> <right enclosure>を指定すると、カスタム区切り形式を設定できます。

SET SQLFORMAT JSON-FORMATTEDは、問合せを適切に書式設定されたJSON出力で返します。

SPO[OL] [filename[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]

問合せ結果をファイルに格納し、必要に応じてそのファイルをプリンタに送信します。OFFはスプールを停止します。OUTはスプールを停止し、そのファイルをコンピュータのデフォルト・プリンタに送信します。現在のスプール状態を表示するには、句を指定せずにSPOOLを入力します。ファイル拡張子が指定されていない場合は、デフォルトの拡張子(.lstまたは.lis)が使用されます。

TTI[TLE] [printspec [text | variable] ...] | [ON | OFF]

各レポート・ページの上部に、指定したタイトルを配置して書式設定したり、現行のTTITLE定義を表示します。TTITLEコマンドの後に引用符で囲まれた単一の語または文字列のみを指定した場合は、旧形式のTTITLEが使用されます。

printspecは、次の1つ以上の句を表します。

  • BOLD
  • CE[NTER]
  • COL n
  • FORMAT text
  • LE[FT]
  • R[IGHT]
  • S[KIP] [n]
  • TAB n

1.8 データベースへのアクセス

次のコマンドを使用して、異なるデータベース上の表との間でデータのアクセスおよびコピーを行います。

CONN[ECT] [{<logon>| / |proxy} [AS {SYSOPER | SYSDBA | SYSASM}] [edition=value]]

ここで、logonの構文は次のとおりです。

username[/password]@connect_identifier

ここで、proxyの構文は次のとおりです。

proxyuser[username] [/password] [@connect_identifier]   

注意:

proxy内のusernameを囲むカッコは必須構文です。

指定されたユーザー名でOracle Databaseに接続します。connect_identifierを省略すると、SQLclによって、デフォルトのデータベースに接続されます。usernameまたはpasswordあるいはその両方を省略すると、SQLclによってそれらの入力を求めるプロンプトが表示されます。CONNECTの後にスラッシュ(/)を入力すると、デフォルト(OPS$)のログオンが接続に使用されます。

CONNECTコマンドを実行すると、サイト・プロファイルglogin.sqlおよびユーザー・プロファイルlogin.sqlがその順序で処理されます。CONNECTは、初期接続が失敗した場合、ユーザー名またはパスワードの再入力をプロンプトしません。

DISC[ONNECT]

データベースに対する保留中の変更をコミットし、現行のユーザーをOracleからログオフします。ただし、SQLclは終了しません。SQLclコマンドラインでは、EXITまたはQUITを使用してOracleからログアウトし、コンピュータのオペレーティング・システムに制御を戻します。

COPY {FROM database | TO database | FROM database TO database} {APPEND | CREATE | INSERT | REPLACE | APPEND_BYTE | CREATE_BYTE | REPLACE_BYTE} destination_table[(column, column, column, ...)] USING query

ここで、databaseの構文は次のとおりです。

username[/password]@connect_identifier

問合せから、同じデータベースまたは別のデータベースにある表にデータをコピーします。APPENDCREATEINSERTまたはREPLACEは、COPYによる宛先表の既存のコピー(存在する場合)の処理方法を指定します。USING queryは、ソース表を識別し、COPYでコピーされる行と列を決定します。COPYでは、CHARDATELONGNUMBERおよびVARCHAR2の各データ型がサポートされます。

PASSW[ORD] [username]

パスワードを変更できます。入力デバイスには表示されません。

XQUERY xquery_statement

SQLclからXQueryを実行できます。

1.9 その他のコマンド

ALIAS [<name>=<SQL statement>;| LOAD [<filename>]|SAVE [<filename>] | LIST [<NAME>] | DROP <name> | DESC <name>  <Description String>]

Aliasは、SQL、PL/SQLまたはSQL*Plusスクリプトを保存して、ショートカット・コマンドを割り当てるコマンドです。

  • ALIAS — 別名のリストを出力します

  • ALIAS LIST <alias_name> — 別名のコンテンツをリストします

次の例は、単純な別名の作成方法を示しています。

SQL> ALIAS action1=select :one from dual;

注意:

別名を簡単に定義するには、aliasキーワードの後に単一の識別子名を付けて、その後に'='を付けます。'='の後にあるものが別名のコンテンツとして使用されます。SQLの場合、';'で終了します。PL/SQLの場合、'/'で終了します。
APEX

Application Expressアプリケーションをリストします。APEX EXPORT <app id>を使用して、ファイルへの書込みを行うためにスプールと結合できるアプリケーションをエクスポートします。

ARCHIVE LOG LIST

REDOログ・ファイルに関する情報を表示します。

BRIDGE <targetTableName> as "<jdbcURL>"(<sqlQuery>);

主に2つの接続/スキーマ間のデータ移動を記述するために使用されます。JDBCを介して受け取るデータを「調整する」Oracle表を動的に作成する機能も含まれます。次の機能を使用できます。

  1. 他の接続の問合せ表

  2. 同じ文の複数の接続の問合せ表

  3. ある接続から別の接続へのデータの挿入

  4. 表の作成および別の接続からのデータの挿入

CTAS table new_table

DBMS_METADATAを使用して既存の表のDDLを抽出し、次にcreate table as select * fromに変更します。

DDL [object_name [type] [SAVE filename]]

リストされているオブジェクトを再構築するコードを生成します。マテリアライズド・ビューにはtypeオプションを使用します。SAVEオプションを使用してDDLをファイルに保存します。

DESC[RIBE] {[schema.]object[@connect_identifier]}

表、ビューまたはシノニムに関する列定義、またはファンクションまたはプロシージャに関する仕様を表示します。

FIND [<filename>]

SQLPATHとそのディレクトリを検索して、指定されたファイル名を探します。FIND where <filename>には、指定されたファイル名と一致するファイルを捜す、すべてのSQLPATHの場所がリストされます。

INFO[RMATION] {[schema.]object[@connect_identifier]}

表、ビューまたはシノニムに関する列定義、またはファンクションまたはプロシージャに関する仕様の詳細を表示します。

注意:

INFORMATION+には列統計が表示されます。
LOAD [schema.]table_name[@db_link] file_name

カンマ区切り値(CSV)ファイルを表にロードします。ファイルの最初の行はヘッダー行である必要があります。ヘッダー行の列は、表で定義されている列と一致する必要があります。列はカンマで区切る必要があり、オプションで二重引用符で囲む場合があります。行をWindows、UNIXまたはMacの標準の行の終了文字で終了できます。ファイルはエンコードされたUTF8である必要があります。

ロードはバッチごとに50行で処理されます。AUTOCOMMITがSQLclで設定されている場合、10バッチごとにコミットが実行されます。50を超えるエラーが見つかった場合、ロードが終了します。

OERR <facility> <error>

エラーに関する情報を表示します。ファシリティは、エラー・メッセージ内の接頭辞文字列で識別されます。たとえば、ORA-7300を受け取った場合、"ora"がファシリティで"7300"がエラーです。このため、"oerr ora 7300"と入力する必要があります。

REST

RESTでは、Oracle REST Data Services 3.xサービスをエクスポートできます。これは、Oracle REST Data Servicesリリース3.0.5以降で適用可能です。Oracle REST Data Servicesの旧バージョンの場合は、アップグレードする必要があります。詳細は、『REST Data Servicesインストレーション、構成および開発ガイド』の、Oracle REST Data Servicesのインストールに関する項を参照してください。

次のオプションがあります。

  • REST export — RESTでは、すべてのOracle REST Data Services 3.xサービス・モジュールをエクスポートします

  • REST export <module_name> — 特定のモジュールをエクスポートします

  • REST export <module_uri_uri prefix> — 指定された接頭辞に関連する特定のモジュールをエクスポートします

  • REST modules — 使用可能なモジュールをリストします

  • REST privileges — 既存の権限をリストします

  • REST schemas — 使用可能なスキーマをリストします

SODA

SODAでは、JSONデータ・モデルを使用してスキーマレス・アプリケーション開発を行うことができます。次のオプションがあります。

  • SODA create <collection_name> — 新しいコレクションを作成します

  • SODA list — すべてのコレクションをリストします

  • SODA get <collection_name> [-all | -f | -k | -klist] [{<key> | <k1> <k2> ... | <qbe>}] — コレクションのドキュメントをリストします。オプションの引数は次のとおりです。

    • all : コレクション内のすべてのドキュメントのキーをリストします

    • k : 特定の<key>に一致するドキュメントをリストします

    • klist : キーのリストに一致するドキュメントをリストします

    • f : <qbe>に一致するドキュメントをリストします

  • SODA insert <collection_name> <json_str | filename> — コレクション内に新規ドキュメントを挿入します

  • SODA drop <collection_name> — 既存のコレクションを削除します

  • SODA count <collection_name> [<qbe>] — コレクション内のドキュメント数をカウントします。オプション・パラメータ<qbe>は一致するドキュメントの数を返します

  • SODA replace <collection_name> <oldkey> <new_{str | doc}> — ドキュメントを別のドキュメントに置き換えます

  • SODA remove <collection_name> [-k | -klist | -f] {<key> | <k1> <k2> ...| <qbe>} — コレクションからドキュメントを削除します。オプションの引数は次のとおりです。

    • k : 特定の<key>に一致するコレクション内のドキュメントを削除します

    • klist : リスト<key1> <key2>に一致するコレクション内のドキュメントを削除します...

    • f : <qbe>に一致するコレクション内のドキュメントを削除します

SET system_variable value

現行のセッションに対するSQLcl環境を変更するシステム変数を設定します。次に例を示します。

  • データの表示幅の設定

  • HTML書式設定のカスタマイズ

  • 列ヘッダーの出力の有効化または無効化

  • 1ページごとの行数の設定

次に示すシステム変数の後に、値を指定して入力します。

  • SET APPI[NFO] {ON | OFF | text}
  • SET ARRAY[SIZE] {15 | n}
  • SET AUTO[COMMIT] {ON | OFF | IMM[EDIATE] | n}
  • SET AUTOP[RINT] {ON | OFF}
  • SET AUTORECOVERY {ON | OFF]
  • SET AUTOT[RACE] {ON | OFF | TRACE[ONLY]}
  • SET BLO[CKTERMINATOR] {. | c | ON | OFF}
  • SET CLASSIC [ ON | OFF ]
  • SET CLEAR [ TOP | BOTTOM | SAME ]
  • SET CLOUDCONFIG [ -proxy=<proxyhost>:<port> ] <wallet.zip location>
  • SET CMDS[EP] {; | c | ON | OFF}
  • SET CODESCAN ALL | NONE | SQLINJECTION [ON | OFF]
  • SET COLSEP {_ | text}
  • SET CON[CAT] {. | c | ON | OFF}
  • SET COPYC[OMMIT] {0 | n}
  • SET COPYTYPECHECK {ON | OFF}
  • SET DDL [[ PRETTY | SQLTERMINATOR | CONSTRAINTS | REF_CONSTRAINTS | CONSTRAINTS_AS_ALTER|OID | SIZE_BYTE_KEYWORD | PARTITIONING | SEGMENT_ATTRIBUTES | STORAGE | TABLESPACE | SPECIFICATION | BODY | FORCE | INSERT | |INHERIT | RESET] {on|off} ] | OFF ]
  • SET DEF[INE] {& | c | ON | OFF}
  • SET ECHO {ON | OFF}
  • SET EDITF[ILE] file_name[.ext]
  • SET EMB[EDDED] {ON | OFF}
  • SET ENCODING
  • SET ERRORL[OGGING] {ON | OFF} [TABLE [schema.]tablename] [TRUNCATE] [IDENTIFIER 識別子]
  • SET ESC[APE] {\ | c | ON | OFF}
  • SET ESCCHAR {@ | ? | % | $ | OFF}
  • SET EXITC[OMMIT] {ON | OFF}
  • SET FEED[BACK] {6 | n | ON | OFF}
  • SET FLU[SH] {ON | OFF}
  • SET HEA[DING] {ON | OFF}
  • SET HEADS[EP] { | | c | ON | OFF}
  • SET HISTORY [FAILS [LIMIT [ n | DEFAULT ] ] | NOFAILS |BLACKLIST [DEFAULT <command list>?|<command list>?] |LIMIT [n|DEFAULT]]
  • SET LDAPCON
  • SET LIN[ESIZE] {80 | n}
  • SET LONG {80 | n}
  • SET LONGC[HUNKSIZE] {80 | n}
  • SET MAXROWS {n>1 | DEFAULT}
  • SET MAXSPOOLROWSTRUNCATE [ON | OFF | DEFAULT]
  • SET NET {ON | OFF | READONLY}
  • SET NEWP[AGE] {1 | n | NONE}
  • SET NOVERWRITE {ON | OFF | WARN}
  • SET NULL text
  • SET NUMF[ORMAT] format
  • SET NUM[WIDTH] {10 | n}
  • SET PAGES[IZE] {14 | n}
  • SET PAU[SE] {ON | OFF | text}
  • SET RECSEPCHAR { | c}
  • SET SERVEROUT[PUT] {ON | OFF} [SIZE {n | UNL[IMITED]}] [FOR[MAT] {WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]}]
  • SET SHOW[MODE] {ON | OFF}
  • SET SQLBL[ANKLINES] {ON | OFF}
  • SET SQLC[ASE] {MIX[ED] | LO[WER] | UP[PER]}
  • SET SQLCO[NTINUE] {> | テキスト}
  • SET SQLFORMAT {csv | html | xml | json | ansiconsole | insert | loader | fixed | default}
  • SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]}
  • SET SQLPRE[FIX] {# | c}
  • SET SQLP[ROMPT] {SQL> | テキスト}
  • SET SUF[FIX] {SQL | テキスト}
  • SET T2 METRICDATA NAMESPACE {text}
  • SET T2 METRICDATA COMPARTMENTID {text}
  • SET T2 METRICDATA NAME {text}
  • SET T2 DIMENSIONS RESOURCEID {text}
  • SET T2 DIMENSIONS REGION {text}
  • SET T2 METADATA UNIT {text}
  • SET TAB {ON | OFF}
  • SET TERM[OUT] {ON | OFF}
  • SET TI[ME] {ON | OFF}
  • SET TIMI[NG] {ON | OFF}
  • SET TRIM[OUT] {ON | OFF}
  • SET TRIMS[POOL] {ON | OFF}
  • SET VER[IFY] {ON | OFF}
  • SET WRA[P] {ON | OFF}

SET DDL [[ PRETTY | SQLTERMINATOR | CONSTRAINTS | REF_CONSTRAINTS | CONSTRAINTS_AS_ALTER|OID | SIZE_BYTE_KEYWORD | PARTITIONING | SEGMENT_ATTRIBUTES | STORAGE | TABLESPACE | SPECIFICATION | BODY | FORCE | INSERT | |INHERIT | RESET] {on|off} ] | OFF ]

DBMS_METADATAに対してDDL変換オプションを設定できます。

SET ENCODING <encoding>

現在のセッションに対してエンコーディングを設定できます。SHOW ENCODINGを使用して、現在のセッションに設定されたエンコーディングを表示します。SHOW ENCODINGSを使用して、プラットフォームで使用可能なエンコーディングを表示します。

SHO[W] [option]

SQLclのシステム変数の値または現行のSQLcl環境を表示します。SETコマンドで設定されたすべてのシステム変数を、system_variableのかわりに入力します。SHOW SGAはDBAユーザーのみが使用できます。optionのかわりに、次の条件または句のいずれかを使用します。

  • system_variable
  • ALL
  • BTI[TLE]
  • CON_ID
  • CON_NAME
  • CONNECTION
  • DDL
  • EDITION
  • ENCODING
  • ENCODINGS
  • ERR[ORS] [ {FUNCTION | PROCEDURE | PACKAGE | PACKAGE BODY | TRIGGER | VIEW | TYPE | TYPE BODY | DIMENSION | JAVA CLASS} [schema.]name]
  • INSTANCE
  • JAVA
  • JDBC
  • LNO
  • NLS
  • PARAMETER[S] [parameter_name]
  • PDBS
  • PNO
  • RECYC[LEBIN] [original_name]
  • REL[EASE]
  • REPF[OOTER]
  • REPH[EADER]
  • SGA
  • SPOO[L]
  • SPPARAMETER[S] [parameter_name]
  • SQLCODE
  • SQLPATH
  • TNS
  • TTI[TLE]
  • USER
  • VERSION

SHOW ENCODING

クライアントに設定されたエンコーディングを表示します。

SHOW ENCODINGS

クライアントに使用可能なエンコーディングを表示します。

SSHTUNNEL <username>@<hostname> -i <identity_file> [-L localPort:Remotehost:RemotePort]

ローカル・ホスト上の特定のポートがリモート側の特定のリモート・ホストおよびポートに転送されるポート転送型のオプション-Lなど、標準sshオプションを使用してトンネルを作成します。ssh -iオプションを使用したIDファイルもサポートされます。パスワードが必要な場合は、プロンプトが表示されます。

TNSPING <address>

TNSPINGユーティリティでは、Oracle Netネットワーク上のサービスのリスナーに正常に到達できるかどうかを判断します。

WHICH

指定されたファイル名をSQLPATHとそのディレクトリで検索し、SQLPATHで指定されたファイル名と一致する最初のファイルの名前を出力します。