SQL*Plus の各バージョンの重要な新機能
主に SQL*Plus で過去のバージョンでも動作させるなどのバッチ処理を組むときに要注意な新機能だけをピックアップ。
SQL*Plus Oracle 10g リリース2
SET SERVEROUTPUT オプションに UNLIMITED 追加
1行のサイズ 255 が 32Kバイトに変更され、全体バッファサイズの上限を 「約 1Mバイト」または「無制限」にできる。
SET SERVEROUTPUT 10000000 などのように上限を約 10Mバイトとかにはできない。
デフォルトのバッファサイズは UNLIMITED
DBMS_OUTPUT.ENABLE(NULL) でも同じ効果がある。
SQL*Plus Oracle 10g
ファイル名およびパス名内の空白のサポート
Windows 固有の問題で「マイドキュメント」以下などに
C:\Documents and Settings\山田 太郎 といったようにファイルの一部に空白含まれていると問題があった事が解消されている。
逆に言うと客先によって色々なバージョンを使用することがあるので Oracle 9i が枯れるころまでは空白の使用には要注意ということ。
プロファイルの読み込みタイミング
- glogin.sql、login.sql コール
- SQL*Plus の起動時だけでなく CONNECT 時にも プロファイル が読み込まれるようになっている。
スプールファイルの追記
SPOOL コマンド のオプション APPEND、CREATE、REPLACE がサポートされているのは Oracle 10g 以降
SQL*Plus 9i 〜
SQL*Plus のログイン回数
- -L オプション (Oracle 9i リリース2)
- 一度だけログオンを試みる。(接続失敗時に即エラー終了)
デフォルトでは3回の再入力を求められたのち
SP2-0157: 3回試行しましたがOracleに接続できませんでした。SQL*Plusを終了します。
とエラーになる。
@ コマンドの URL
- @ コマンド の URL 指定 (Oracle 9i リリース2)
- @ コマンドにおいて URL が全プラットフォームでサポート
下位互換性を保持するための 新コマンド
- SET SQLPLUSCOMPATIBILITY (Oracle 9i)
- 現在のところ VARIBLE コマンド の動作のみ対応