Top > SQL*Plus > SQL*Plus 制限

SQL*Plus に関する制限値

SQL*Plus と文字コード(漢字コード)

SQL*Plus はクライアントの文字コードとして UNICODE (Japanese_Japan.AL32UTF8) をサポートしていない。(〜Oracle 10g)
UNICODE(UTF8) を使用した漢字を含む文字コードを利用したファイルを実行する場合には iSQL*Plus を使用するか、UNICODE に対応したツールを利用する。(Oracle の Java ベースの SQL Developer も UTF-8 ファイルに対応していないみたい:どこかの設定にあるかも)

SQL*Plus での制限事項

項目上限値
ファイル名の長さシステム依存
├ Windows NT 系255 文字
└ Linux(32bit)255 バイト*1
ユーザー名の長さ30 バイト
128 バイト Oracle 12cr2
置換変数名 の長さ30 バイト
128 バイト Oracle 12cr2
置換変数値の長さ240 バイト(文字)
パラメータ変数値の長さ239 バイト(文字)
置換変数の最大数2,048
ACCEPT 文字列の最大長240 バイト
コマンドラインの長さ2,500 文字
5,000 文字 Oracle 12cr2
変数置換後の SQL(PL/SQL) コマンドラインのサイズ3,000 文字
1 つのSQL コマンドの行数500 行
(1 行 80 文字の場合)
LONG2,000,000,000 バイト
LONGCHUNKSIZE(LONGC)システム依存
├ Windows(32bit)2,000,000,000
└ Linux(32bit)
LINESIZEシステム依存
├ Windows(32bit)3,2767
└ Linux(32bit)
出力行のサイズ(原文: output line size)
LINESIZE との意味の違いがわかりませんでした。
OS レベルでの制限値が優先されるということを強調している?
システム依存
COMPUTE コマンド・ラベルの文字数500 文字
合計行幅 (原文: total row width)
これも良くわかりません。サマリ行 (COMPUTE) のことを指しているようにもとれる。
しかし、こちらはシステム依存でない。
3,2767 文字
PAGESIZE50,000 行
ARRAYSIZE5,000 行
ページ数99,999
PL/SQL エラー・メッセージの最大サイズ
(= SQLERRM にも該当するのか?)
2,048 バイト
ネストされたスクリプトの最大数20

xx 文字と書いてある項目は高い確率で xx バイトの可能性があります。(原文でも xx char と記されている)
実際に試してマニュアルと異なる箇所には取り消し線で (文字) と書いてあります。



日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ オラクルサポートセンター

*1 あまり長いファイル名の場合には Oracle のサードパーティ製品や 一部のシステムコマンドが正しく動作しないものがあるようなので注意