| プロパティ | 説明 |
|---|---|
| パラメータ・タイプ | 文字列 |
| 構文 | NLS_LENGTH_SEMANTICS = string
例: |
| デフォルト値 | BYTE |
| 変更の可/不可 | ALTER SESSION |
| 値の範囲 | BYTE | CHAR |
NLS_LENGTH_SEMANTICSのセッション・レベル値には、VARCHAR2およびCHAR表の列、ユーザー定義オブジェクトの属性、およびセッションで作成されたデータベース・オブジェクトのPL/SQL変数に使用するデフォルトの長さセマンティクスを指定します。このデフォルトは、列、属性および変数定義で、明示的な長さセマンティクスの修飾子BYTEおよびCHARによってオーバーライドできます。
NLS_LENGTH_SEMANTICSのインスタンス・レベルの値は、NLS_LENGTH_SEMANTICSのクライアント環境変数(JDBC Thinクライアントには適用されない)またはALTER SESSION SET NLS_LENGTH_SEMANTICS文で、データベース・クライアントがNLS_LENGTH_SEMANTICSを明示的に設定しない場合に、セッション・レベル値のデフォルトを示します。
NCHAR、NVARCHAR2、CLOBおよびNCLOBの各列は、常に文字ベースです。
SYSとしてログインしているセッションでは、NLS_LENGTH_SEMANTICSパラメータは使用されません。オブジェクト定義(SQL DDL文)で明示的なBYTEおよびCHAR修飾子によってオーバーライドされないかぎり、作成されたすべてのオブジェクトにBYTE長さセマンティクスが使用されます。
|
注意: インスタンスまたはサーバー・パラメータ・ファイルで、NLS_LENGTH_SEMANTICSパラメータをCHARに設定しないことをお薦めします。これによって、多数の既存インストール・スクリプトに文字長さセマンティクスを持つ列が予期せず作成され、バッファ・オーバーフローなどのランタイム・エラーが発生する場合があります。 |