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 バイト  |
| 置換変数名 の長さ | 30 バイト 128 バイト  |
| 置換変数値の長さ | 240 バイト(文字) |
| パラメータ変数値の長さ | 239 バイト(文字) |
| 置換変数の最大数 | 2,048 |
| ACCEPT 文字列の最大長 | 240 バイト |
| コマンドラインの長さ | 2,500 文字 5,000 文字  |
| 変数置換後の SQL(PL/SQL) コマンドラインのサイズ | 3,000 文字 |
| 1 つのSQL コマンドの行数 | 500 行 (1 行 80 文字の場合) |
| LONG | 2,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 文字 |
| PAGESIZE | 50,000 行 |
| ARRAYSIZE | 5,000 行 |
| ページ数 | 99,999 |
PL/SQL エラー・メッセージの最大サイズ (= SQLERRM にも該当するのか?) | 2,048 バイト |
| ネストされたスクリプトの最大数 | 20 |
xx 文字と書いてある項目は高い確率で xx バイトの可能性があります。(原文でも xx char と記されている)
実際に試してマニュアルと異なる箇所には取り消し線で (文字) と書いてあります。