SQL*Plus とは
SQL*Plus とは SQL を実行するためのインターフェイスユーティリティである。
インスタンスの起動とマニュアル操作によるインタラクティブな SQL の実行が主であるが shell などのスクリプト言語と サイレントモード を併用することで簡単なバッチ処理にも使用できる(※)。
(※) 旧ライセンス形式では SQL*Plus の使用の用途が制限されている場合があるので要注意。
SQL*Plus の主な機能
- SQL コマンドおよび PL/SQL ブロックの入力、編集、格納、取出しおよび実行
- 問合せ結果の書式設定、計算の実行、格納、スプール、印刷 およびWeb への表示
- 表の列定義のリスト表示
- データベース間でのデータへのアクセスおよびデータのコピー
- データベースの管理(起動、停止、各種DDLの実行)
- キャラクタベースの簡単なレポート作成機能
SQL*Plusで実行できるコマンドの種類
コマンド・プロンプトでは、次のコマンドが使用可能。
SQL*Plus 使用例
Oracle 10g R1 EE(Enterprise Edition) エンタープライズ版の接続例
ユーザー scott:パスワード tiger:ネットサービス名 orcl に接続する。
#sqlplus scott/tiger@orcl
↑ ここにスペースを入れると別の意味になるので要注意
SQL*Plus: Release 10.1.0.2.0 - Production
Copyright (c) 1982, 2004, Oracle. All rights reserved.
↑ SQL*Plusのバージョン情報とクレジットが表示される(20年以上前・・・)
Oracle Database 10g {Enterprise Edition} Release {10.1.0.2.0} - Production
↑インストールしたエディション ↑Oracleのバージョンが表示される
With the Partitioning, OLAP and Data Mining options
↑オプションでインストールしたコンポーネント
に接続されました。
SQL> SQL文 ;
or
SQL> PL/SQL文 ;
SQL> / ← PL/SQLの場合には、'/' で内容を実行(RUN)させる。
結果表示
SQL> QUIT
Windows のコマンドベースの SQL*Plus はコマンドプロンプトから以下のように sqlplus を起動する。
C:\> sqlplus scott/tiger@orcl
@orcl はネット経由で orcl(ネットサービス名) に接続する場合、ローカルデータベースに接続する場合には省略してよい。
Windows版の場合 メニューからの SQL*Plus(sqlplusw.exe) は使用せずに、キャラクタベースの SQL*Plus(sqlplus.exe) を使用することをお勧めします。(※ GUI 版と iSQL*Plus は Oracle 11g から廃止)
以前からキャラクタベースの SQL*Plus の方が文中の編集や履歴機能(F7 キー) が使用できるので GUI 版よりも便利でした。
GUI ベースの SQL*Plus はコマンドベースに比べて不具合と不都合な仕様が多い。コピー&ペースト不具合、メニューからの実行の動作などでユーザービリティ上、致命的な欠陥も結構ある。
標準的なインストールでは UNIX 系の SQL*Plus は コマンド履歴機能 や行編集機能が弱いので Windows のコマンドベースの SQL*Plus の方が何かと便利です。