Oracleメモ > SQL*Plus(Oracle)

SQL*Plusとは

SQL*Plusは、データベース(Oracle)へSQLの発行、問い合わせ用を行う為の対話ツール。(もちろんPL/SQLも実行できる)
SQL*Plus でしか利用できない便利なコマンドが用意されている。
※ 旧ライセンス形式では SQL*Plus の使用の用途が制限されている場合があるので要注意。

データベースへの接続

local 接続ネーミングメソッド

sqlplus username/password@net_service_name

簡易接続ネーミングメソッド

sqlplus username/password@[//]host[:port][/service_name]

SQL*PLUSのコマンド

※参照 : http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19277-01/ch12.html [#n8afc52a]

SQLPlus コマンドコマンド 説明
@ファイルの内容を実行(詳細は START 参照)
@@
@?
nカレント行を n にする
/バッファ内のSQL、PL/SQLブロックを実行(SQL バッファ非表示)
ACCEPTACCEPT vData PROMPT ' vDataを入力する。'
APPEND行末にテキストを追加
ARCHIVE LOGアーカイブログ運用の設定と状態表示
ATTRIBUTEオブジェクト型列の表示書式を設定
BREAK
BTITLE下部に指定のタイトルの書式設定
CHANGESQL バッファの文字を置換
CLEAR画面、バッファ、書式、タイマーの設定などの初期化
COLUMNカラムの書式指定(書式モデル)
COMPUTE
CONNECTデータベースへの接続
COPY下位互換用
DEFINEユーザー定義定数の設定と表示
DELSQL バッファの一部を削除
DESCRIBEスキーマオブジェクトの仕様を表示
DISCONNECTデータベースから切断
ED[IT]ホストのエディタを使用した編集
EXECUTEPL/SQL ブロックの実行
EXITSQL*Plus の終了
GETファイルの内容をSQLバッファに読み込む
HELPオンライン・コマンドヘルプ
HOSTシェルでコマンドの実行
INPUT文字列の追加(単独の場合には複数行追加可能)
LISTSQL バッファ内を表示
PASSWORDパスワードの変更
PAUSE処理の一時停止
PRINTバインド変数の内容を表示する
PROMPTメッセージの表示
RECOVERデータベースのリカバリー
REMARKコメント行
REPFOOTER
REPHEADER
QUITEXIT コマンドのエイリアス
RUNバッファ内SQL、PL/SQLブロックを表示し実行
SAVESQLバッファの内容をファイルに保存
SETシステム変数を設定する
SHOWメモリ、システム変数、初期化パラメータなどの表示
SHUTDOWNオラクルの停止
SPOOL出力結果をファイルへ出力の開始と終了
STARTファイルの内容を実行
STARTUPオラクルの起動
STORE
TIMINGタイマーの設定、表示と解除
TTITLE上部に指定のタイトルの書式設定
UNDEFINEユーザー定義定数の削除
VARIABLEバインド変数 の定義
WHENEVER OSERROROS レベルのエラー発生時の例外処理
WHENEVER SQLERRORSQL レベルのエラー発生時の例外処理

         ※たくさんあるが、よく使うのは ED , SET ぐらい

SQL*Plus のシステム変数~

  ※システム変数は SQL*Plus コマンドの SET システム変数 値 という形式で設定する。

   ( SQL*PLUS起動時に自動的に環境設定する方法もある。 )

コマンド説明
SET APPINFOスクリプトの進行状況などを設定
SET ARRAYSIZEDBMS_OUTPUT のバッファ、データベースから一度にフェッチする配列の大きさ
SET AUTOCOMMITオートコミットの有効/無効
SET AUTOPRINTバインド変数 の自動表示
SET AUTORECOVERYRECOVERY コマンドのアーカイブログファイル名を自動補完する/しない
SET AUTOTRACEオートトレースの有効/無効、または、トレースモードの設定
SET BLOCKTERMINATORPL/SQL ブロックの終了文字の設定
SET CMDSEPSQL*Plus コマンドの区切り文字
SET COLSEPカラムとカラムの間の区切り文字
SET COMPATIBILITYOracle 8 以前向けの下位互換動作用
SET CONCAT後続に文字連結するときの置換変数の終了文字の設定
SET COPYCOMMITCOPY コマンドのコミットポイント設定
SET COPYTYPECHECKCOPY コマンドの型チェックの有効/無効
SET DEFINE置換変数を有効/無効または接頭辞を設定
SET DESCRIBEDESCRIBE コマンド の表示方法の調整
SET ECHOスクリプトのSQL*Plusコマンドを表示をする/しない
SET EDITFILEEDIT コマンド で使用する一時ファイル名の設定
エディタプログラムの指定は _EDITOR 事前定義変数
SET EMBEDDED異なるレポート(SQL)でも同一ページ含める/含めない
SET ESCAPEエスケープ機能を有効/無効、または、別のエスケープ文字を設定
SET FEEDBACK問い合わせの結果の件数を表示をする/しない、または、表示する最小件数の設定
SET FLAGGERSQL が SQL92 に準拠しているか調べる/調べないを設定
SET FLUSH画面出力にバッファを使用する/しないの設定
SET HEADING列ヘッダを表示する/しない
SET HEADSEP列ヘッダの区切り文字の設定
SET INSTANCEデフォルトのインスタンスの設定
SET LINESIZE1行に表示する(文字数)バイト数の設定
SET LOBOFFSETCLOB、NCLOBの取り出し開始位置の設定
SET LOGSOURCERECOVERY コマンドで使用するアーカイブログファイル位置の設定
SET LONGLONG、CLOB、NCLOB の表示幅
SET LONGCHUNKSIZELONG、CLOB、NCLOBのチャンクサイズ
SET MARKUP出力をHTML 形式にエンコードをする/しないの設定(SQL*Plusの場合)
SET NEWPAGEページの開始位置から列ヘッダーまでの余白行数の設定
SET NULLNULL データの代替文字列設定
SET NUMFORMAT数値のデフォルト書式の設定(書式モデル)
SET NUMWIDTH数値のデフォルト表示幅
SET PAGESIZE1ページの行数
SET PAUSE1ページ毎に一時停止をする/しない
SET RECSEPレコードセパレータを常に出力する/しない、または、折り返しが発生時のみ出力する
SET RECSEPCHARRECSEP が発生したときに表示される文字の設定
SET SERVEROUTPUT標準出力に表示する/しない、または、バッファの上限サイズ
SET SHIFTINOUTシフト文字を表示する/しない(特殊なコンソールのみ)
SET SHOWMODEシステム変数の変更前値の通知を表示する/しない
SET SQLBLANKLINESSQL コマンド、PL/SQL ブロックに空白行を許可する/しない
SET SQLCASEすべての入力文字を大文字、または、小文字に変換する/しない
SET SQLCONTINUE複数行の SQL*Plusコマンド入力時のプロンプトの設定
SET SQLNUMBER複数行の SQL コマンド、PL/SQL ブロック入力時に表示される行番号を表示する/しない
SET SQLPLUSCOMPATIBILITY動作保証できる SQL*Plus のバージョンの設定
SET SQLPREFIXSQL*Plus コマンドの接頭辞の設定
SET SQLPROMPTSQL*Plus のコマンドプロンプトに表示される文字列の設定
SET SQLTERMINATORSQL コマンド、PL/SQL ブロックの終了文字の設定
SET SUFFIXスクリプトファイルのデフォルト拡張子の設定
SET TABタブ文字の使用をする/しない
SET TERMOUT@、@@、START のスクリプトによるアウトプットを表示する/しない
SET TIMESQL プロンプトに時刻表示する/しない
SET TIMINGタイミング統計(タイマー)を表示する/しない
SET TRIMOUT各行の出力の終わりから行末までの空白を出力する/しない(スプールには無関係)
SET TRIMSPOOLスプールにおける TRIMOUT システム変数(画面出力には無関係)
SET UNDERLINE列ヘッダの下の表示される -----… 文字のあり/なし/文字の設定
SET VERIFY置換変数に設定する前後の状態を表示する/しない
SET WRAP表示幅に収まらない部分を折り返す/切り捨てる

SQL*PLUS起動時に良く使う設定を自動的に読み込む

 (1)SQL*PLUSへのショートカットを作成する
 (2)ショートカットの作業フォルダを自分のMyDocument等に変更する
 (3)(2)で設定した作業フォルダに、下記のようなSQL*Plusのコマンドが書かれたファイルを login.sql という名前で作成する

SET LINESIZE 200
SET SERVEROUTPUT ON SIZE 1000000
SET SQLPROMPT "&_USER.@&_CONNECT_IDENTIFIER>"

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-07-20 (土) 00:59:28 (3933d)