SQL*Plusコマンド一覧と使い方まとめ
  • facebookページ
  • twitterページ
  • 2020.06.03

    SQL*Plusコマンド一覧と使い方まとめ

    SQL*Plusとは

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

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

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

    • SQLコマンドおよび PL/SQLサブプログラムの入力や編集、格納、取り出し、実行
    • 問合せ結果の書式設定や計算実行、格納、スプール、印刷、Web表示
    • 表の列定義のリスト表示
    • データベース間のデータアクセス、データのコピー
    • データベースの管理(起動、停止、各種DDLの実行)
    • キャラクタベースの簡易レポート作成機能

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

    SQL*Plusの使い方

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

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

    SQL*Plusを起動する

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

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

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

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

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

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

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

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

    SQL*Plusを終了する

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

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

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

    また、SQL*Plusを終了しないでユーザー接続だけをログオフしたい場合には「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コマンド自体を忘れてしまうと他のコマンドの仕様を確認できないので、「困った時はHELPコマンドを使う」と覚えておきましょう。

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

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

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

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

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

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

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

    • EXIT:SQL*Plusを終了
    • CONTINUE:SQL*Plusの処理を継続
    • COMMIT:SQL*Plusを終了もしくは継続前に、トランザクションをコミット
    • ROLLBACK:SQL*Plusを終了もしくは継続前に、トランザクションをロールバック
    • NONE:SQL*Plusを継続させるとき、トランザクションのコミットおよびロールバックをしない

    まとめ

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

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

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

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



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE