Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

SQL*Plusとは

SQL*Plusとは、Oracleが提供するSQL操作が可能なインターフェイスユーティリティのことです。

DBA(データベース管理者)がOracleの管理に使用したり、開発者も使えたりする便利なツールです。

SQL*Plusの主な機能は、次の通りです。

無料で使いやすく便利なデータベースツールはありますが、本家Oracleが提供するSQL*Plusは押さえておくべき基本ツールです。

SQL*Plusの使い方

では、SQL*Plusの使い方をみていきましょう。

ここでは、Windowsでの使い方を簡単に解説します。

SQL*Plusを起動する

SQL*Plusを起動するには、コマンド・プロンプトから「sqlplus」を入力する必要があります。

まずは、コマンド・プロンプトを起動しましょう!

スタートボタンから「コマンド・プロンプト」を検索するか、「すべてのプログラム > アクセサリ > コマンド・プロンプト」で起動しましょう。

引数なしでSQL*Plusを起動するのであれば、コマンド・プロンプトに「sqlplus」と入力します。

Windowsをはじめとする一部のオペレーティングシステムでは、大文字小文字の区別がないので「SQLPLUS」と入力してもOKです。

ユーザー名とパスワード付きでSQL*Plusを起動する際には、sqlplusの後ろに半角スペースを空け、ユーザー名とパスワードを入力します。

そして、ユーザー名とパスワードの間にはスラッシュ(/)を入れます。

sqlplus {ユーザーID}/{パスワード}

また、ログオンをSQL*Plusの内部から行う際は、「/nolog」という引数を使います。

sqlplus /nolog

SQL*Plusを終了する

SQL*Plusを終了するには、 “SQL>”のコマンド・プロンプトから「exit」を入力すれば基本的にOKです。

終了のさせ方もいくつか種類があるので、見ていきましょう。

exitの後に「rollback」を指定すると、現行トランザクションをロールバックして終了できます。

exit rollback

また、SQL*Plusを終了しないでユーザー接続だけをログオフしたい場合には「disconnect」が使用可能です。

disconnect

SQL*Plusコマンド一覧

SQL*Plusには、独自のコマンドが多く存在します。

ここでは、SQL*Plusコマンドと内容、使用例を表にしてまとめました。

SQL*Plusコマンド コマンド説明 使用例
@(アットマーク) 指定したスクリプトのSQL*Plus文を実行 @PRINTRPT
@WKRPT.QRY
@@(二重アットマーク) 指定したスクリプトのSQL*Plus文を実行
ネストしたスクリプトを実行する場合に便利なコマンド
@@PRINTRPT
@@WKRPT.QRY
@?(アットマーク・クエスチョン) 指定したスクリプトのSQL*Plus文を実行 @?PRINTRPT
@?WKRPT.QRY
n カレント行をnにする n
/(スラッシュ) 最後に実行されたSQLコマンドか、SQLバッファに格納されているPL/SQLサブプログラムを実行 /
ACCEPT 任意でメッセージを表示し、ユーザーからの入力を、所定の置換変数に格納 ACCEPT USER_PASS A8
– CHAR PROMPT
‘Password: ‘ HIDE
APPEND 行末にテキストを追加 APPEND ADDTEXT
ARCHIVE LOG アーカイブログに関する情報を表示 ARCHIVE LOG LIST
ATTRIBUTE オブジェクト型列の表示特性を設定 ATTRIBUTE MEMBER_TYPE.
FIRST_NAME FORMAT A10
BREAK レポート内での変更位置や実行する書式設定を指定 BREAK
BTITLE 指定のタイトルの書式設定を指定 BTITLE LEFT ‘SAMPLE TITLE’
CHANGE SQLバッファの最初に一致した文字列を変更 CHANGE /CHANGE_BEFORE
/CHANGE_AFTER/
CLEAR 画面やバッファ、書式、タイマーの設定などをリセットまたは消去 CLEAR SCREEN
CL SCR(短縮形)
COLUMN 特定列の表示設定を指定 COLUMN TYPE_NAME
FORMAT A30
COMPUTE 各種の標準計算方法を使用し、サマリー行を計算して出力 COMPUTE SUM LABEL ‘SCORE’
OF SALARY ON USER_ID;
CONNECT 指定したユーザー名でデータベースへ接続 CONNECT user/user_pass
COPY 下位互換用/廃止される予定
DEFINE ユーザー変数または定義定数の設定と表示 DEFINE ID = USER_NAME
DEL SQLバッファの行を削除 DEL
DESCRIBE 指定したファンクションまたはプロシージャの仕様を表示 DESCRIBE employee_list
DISCONNECT データベースから切断 DISCONNECT
EDIT ホストのエディタを起動し編集 EDIT go
ED go(短縮形)
EXECUTE PL/SQLサブプログラムを実行 EXECUTE dbms_output.
put_line(‘プロシージャ実行’)
EXIT SQL*Plusを終了 EXIT
GET ファイルの内容をSQLバッファにロード GET TYPERPT
HELP ヘルプを表示 HELP SQLPLUS
HOST シェルでコマンドの実行 HOST dir *.sql
INPUT 文字列の追加指定 INPUT ORDER BY USER_ID
LIST SQLバッファを表示 LIST
PASSWORD パスワードの変更 PASSWORD
PAUSE 処理を一時停止 PAUSE STOP
PRINT バインド変数を出力 PRINT :text
PROMPT メッセージの表示 PROMPT MESSAGE
RECOVER データベースのリカバリー RECOVER DATABASE
REMARK コメント行 REMAR COMMENT
REPFOOTER フッターの書式設定/現行のREPFOOTER定義を表示 REPFOOTER PAGE
CENTER ‘FOOTER’
REPHEADER ヘッダー の書式設定/現行のREPHEADER定義を表示 REPHEADER PAGE CENTER ‘HEADER’
QUIT SQL*Plusを終了
EXITと同一
QUIT
RUN SQLバッファの内容を表示後に実行 RUN
SAVE SQLバッファの内容をスクリプトに保存 SAVE tmp
SET システム変数を設定 SET DEFINE
SHOW 現行のSQL*Plus環境や値を表示 SHOW REL
SHUTDOWN Oracle Databaseインスタンスを停止 SHUTDOWN
SPOOL 出力結果をファイルへ格納 SPOOL OFF
START SQL*Plus文を実行 START file_name.ext
STARTUP Oracle Databaseインスタンスを起動 STARTUP
STORE SQL*Plus環境の属性をスクリプトに保存 STORE SET DEFAULTENV
TIMING タイマーの設定や表示 TIMING SHOW
TTITLE テキストの配置および書式設定 TTITLE CENTER ‘TITLE TEXT ‘
UNDEFINE ユーザー定義定数の削除 UNDEFINE USER_ID
VARIABLE PL/SQLで参照できるバインド変数を定義 VARIABLE SCORE NUMBER
WHENEVER OSERROR OSレベルのエラー発生時の例外処理 WHENEVER OSERROR
EXIT SUCCESS COMMIT
WHENEVER SQLERROR SQLレベルのエラー発生時の例外処理 WHENEVER SQLERROR EXIT SUCCESS COMMIT

より詳しい説明や使い方は、次のサイトを確認するといいですよ。

SQL*Plusコマンド一覧

SQL*Plusコマンドでヘルプを表示

SQL*Plusコマンドでヘルプを確認したい場合は、「HELPコマンド」を使いましょう。

HELPコマンドは「SQL*Plusコマンド一覧」にもあるように、HELPの後に確認したいコマンドを入力します。

HELP COMPUTE

HELPコマンド自体を忘れてしまうと他のコマンドの仕様を確認できないので、「困った時はHELPコマンドを使う」と覚えておきましょう。

エラー発生時のSQL*Plusの動作を変更する方法

OSレベルもしくはSQLレベルんのエラーが発生すると、SQL*Plusは終了します。

このようなエラー発生時の例外処理は「WHENEVER」で変更可能です。

「SQL*Plusコマンド一覧」でも使用例を紹介しましたが、ここではもう少し詳しく解説します。

WHENEVERは次のように入力しましょう。

WHENEVER {OSERROR | SQLERROR} EXIT code [COMMIT | ROLLBACK]
WHENEVER {OSERROR | SQLERROR} CONTINUE [COMMIT | ROLLBACK | NONE]

OSレベルのエラー時は「OSERROR」を、SQLレベルのエラー時は「SQLERROR」を使用します。

それ以降の「EXIT」や「COMMIT」などは、それぞれ次の意味をもちます。

まとめ

SQL*Plusのコマンドについてまとめました。

SQL*Plusは、DBAも開発者も使える便利なツールです。

独自のコマンドも多数ありますが、必要に応じて調べて使えばOKです。

ぜひこの記事を参考にSQL*Plusのコマンドを使いこなしてください。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。