2 Oracle SQLclの使用
Oracle SQLcl (SQL Developerコマンドライン)は、Oracle Database用のJavaベースのコマンドライン・インタフェースです。SQLclを使用すると、SQL文およびPL/SQL文を対話式またはバッチ・ファイルで実行できます。SQLclは、インライン編集、文の完了、コマンドの再呼出しを提供し、既存のSQL*Plusスクリプトもサポートします。
Oracle SQLclはOracle Technology Networkからダウンロードできます。
この章のトピックは、次のとおりです:
2.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の文またはスクリプトを循環表示できます。2.2 SQL*Plusでサポートされていないコマンドおよび機能のリスト
コマンド
REPHEADER
REPFOOTER
TIMING
TIMING
コマンドは、SET TIMING
コマンドに置き換えられています。
SETコマンドを介したシステム変数および環境設定
describe
flagger
fullcolname
logsource
loboffset
markup
recsep
shiftinout
sqlterminator
underline
xmloptimizationcheck
2.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を終了し、制御をオペレーティング・システムに戻します。
JVMオプションの設定
JAVA_TOOL_OPTIONS
次の例は、WindowsでSQLclのユーザー・インタフェース言語をスペイン語(es)に変更する方法を示しています。
c:\SQLDev\sqlcl\20.2\sqlcl\bin>SET JAVA_TOOL_OPTIONS=-Duser.language=es
c:\SQLDev\sqlcl\20.2\sqlcl\bin>sql hr/oracle
Picked up JAVA_TOOL_OPTIONS: -Duser.language=es
SQLcl: Versi≤n 20.2 Production en mar. ago. 25 15:37:58 2020
Copyright (c) 1982, 2020, Oracle. Todos los derechos reservados.
Last Successful login time: Mar Ago 25 2020 15:38:01 -04:00
Conectado a:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Se ha encontrado login.sql en el CWD. El acceso a la DB estß restringido para login.sql.
Ajuste SQLPATH para incluir la ruta y activar la funcionalidad completa.
SQL>
c:\SQLDev\sqlcl\20.2\sqlcl\bin>SET JAVA_TOOL_OPTIONS=-Duser.language=fr -Xmx800m
c:\SQLDev\sqlcl\20.2\sqlcl\bin>sql hr/oracle
Picked up JAVA_TOOL_OPTIONS: -Duser.language=fr -Xmx800m
SQLcl : version 20.2 Production sur mar. ao√t 25 15:57:21 2020
Copyright (c) 1982, 2020, Oracle. Tous droits rΘservΘs....
2.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インスタンスを停止します。データベースのクローズおよびディスマウントが実行されます。
2.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セッション間で保持されます。
-
デフォルトでは、
SHOW
、HISTORY
、CONNECT
およびSET
コマンドは履歴に保存されません。 -
SET HISTORY BLACKLIST
を指定すると、履歴に記録しないコマンドを設定できます。
2.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行以上削除します(アスタリスク(*)は現在の行を意味します)。DEL
とn
または*
の間の空白は省略できますが、DEL
とLAST
の間の空白は省略できません。バッファの現在の行を削除するには、句を指定せずにDEL
を入力します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。
I[NPUT] [text]
SQLバッファの現在の行の後に、1行以上のテキストを追加します。バッファにはコマンド履歴リストはなく、またSQLclコマンドは記録されません。
L[IST] [n | n m | n * | n LAST | * | * n | * LAST | LAST]
SQLバッファに格納されている、最後に実行された1行以上のSQLコマンドまたはPL/SQLブロックを表示します。アスタリスク(*
)は現在の行を示します。LIST
とn
または*
の間の空白は省略できますが、LIST
とLAST
の間の空白は省略できません。すべての行を表示するには、句を指定せずに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は&変数を検出するたびに値の入力をユーザーに要求します。&&変数の場合は、最初に検出したときのみ値の入力をユーザーに要求します。
. (ピリオド)
置換変数に続く文字が変数名の一部と解釈される可能性がある場合、ピリオド(.)によって置換変数名の末尾を示します。
2.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 |
先行ドル記号が表示されます。 |
|
0999 9990 |
先行または後続ゼロ(0)を表示します。 |
|
9999 |
9の数で指定した桁数の値が表示されます。値には、正の値の場合は先行空白、負の値の場合は先頭に先行マイナス記号が表示されます。先行0(ゼロ)には空白が表示されます。0(ゼロ)の値には0(ゼロ)が表示されます。 |
|
B9999 |
書式モデル内の0(ゼロ)にかかわらず、整数部が0(ゼロ)の場合、固定小数点数の整数部に空白が表示されます。 |
|
C999 |
指定した位置にISO通貨記号が表示されます。 |
|
99D99 |
数値の整数部と小数部を区切る小数点文字が表示されます。 |
|
9.999EEEE |
値を科学表記法に従って表示します(指定するときは、必ずEを正確に4つ入力します)。 |
|
9G999 |
数値の整数部の指定した位置に桁グループ・セパレータが表示されます。 |
|
L999 |
指定した位置に各国通貨記号が表示されます。 |
|
9999MI |
負の値の後に後続マイナス記号が表示されます。正の値の後に、後続空白を表示します。 |
|
9999PR |
負の値は<山カッコ>で囲まれて表示されます。正の値の場合は、先行空白および後続空白が表示されます。 |
|
RN rn |
大文字のローマ数字が表示されます。小文字のローマ数字が表示されます。値は1から3999の整数となります。 |
|
S9999 9999S |
先行マイナス記号またはプラス記号が表示されます。後続マイナス記号またはプラス記号が表示されます。 |
|
TM |
小数点文字の最小の数が表示されます。デフォルトはTM9です。出力に使用される固定表記法の場合は最大64文字、科学表記法の場合は65文字以上です。TMの前に他の要素を指定することはできません。TMの後には単一の9またはEのみを指定できます。 |
|
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
2.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
問合せから、同じデータベースまたは別のデータベースにある表にデータをコピーします。APPEND
、CREATE
、INSERT
またはREPLACE
は、COPY
による宛先表の既存のコピー(存在する場合)の処理方法を指定します。USING query
は、ソース表を識別し、COPY
でコピーされる行と列を決定します。COPY
では、CHAR
、DATE
、LONG
、NUMBER
およびVARCHAR2
の各データ型がサポートされます。
PASSW[ORD] [username]
パスワードを変更できます。入力デバイスには表示されません。
XQUERY xquery_statement
SQLclからXQueryを実行できます。
2.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表を動的に作成する機能も含まれます。次の機能を使用できます。
-
他の接続の問合せ表
-
同じ文の複数の接続の問合せ表
-
ある接続から別の接続へのデータの挿入
-
表の作成および別の接続からのデータの挿入
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
ファイルを表にロードします。
ファイル形式のデフォルトは次のとおりです。
-
列はカンマで区切られ、オプションで二重引用符で囲まれている場合があります。
-
行はWindows、UNIXまたはMacの標準の行の終了文字で終了されます。
-
ファイルはエンコードされたUTF8です。
デフォルトのロードは次のようになります。
-
バッチ当たり50行を処理します。
-
AUTOCOMMITがSQLclで設定されている場合、10バッチごとにコミットが実行されます。
-
50を超えるエラーが見つかった場合、ロードが終了します。
ファイル(デリミタ、囲み)の読取りには、SET LOADFORMAT [options]
を使用します。
データ(バッチ当たりの行数、日付書式)のロードには、SET LOAD [options]
を使用します。
OERR <facility> <error>
エラーに関する情報を表示します。ファシリティは、エラー・メッセージ内の接頭辞文字列で識別されます。たとえば、ORA-7300を受け取った場合、"ora"がファシリティで"7300"がエラーです。このため、"oerr ora 7300"と入力する必要があります。
SSHTUNNEL <username>@<hostname> -i <identity_file> [-L localPort:Remotehost:RemotePort]
ローカル・ホスト上の特定のポートがリモート側の特定のリモート・ホストおよびポートに転送されるポート転送型のオプション-Lなど、標準sshオプションを使用してトンネルを作成します。ssh -iオプションを使用したIDファイルもサポートされます。パスワードが必要な場合は、プロンプトが表示されます。
TNSPING <address>
TNSPINGユーティリティでは、Oracle Netネットワーク上のサービスのリスナーに正常に到達できるかどうかを判断します。
WHICH
指定されたファイル名をSQLPATHとそのディレクトリで検索し、SQLPATHで指定されたファイル名と一致する最初のファイルの名前を出力します。
2.9.1 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
— 使用可能なスキーマをリストします
2.9.2 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>に一致するコレクション内のドキュメントを削除します
-
2.9.3 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 LOAD [options...]
SET LOADFORMAT [DEFAULT,CSV,DELIMITED] [options...]
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を使用して、プラットフォームで使用可能なエンコーディングを表示します。
2.9.4 SHOWオプション
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
クライアントに使用可能なエンコーディングを表示します。