プロパティ | 説明 |
---|---|
パラメータ・タイプ | 文字列 |
構文 | 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 に設定しないことをお薦めします。これによって、多数の既存インストール・スクリプトに文字長さセマンティクスを持つ列が予期せず作成され、バッファ・オーバーフローなどのランタイム・エラーが発生する場合があります。 |