2.219 NLS_LENGTH_SEMANTICS
NLS_LENGTH_SEMANTICSを使用して長さセマンティクスを指定します。
               
| 特性 | 説明 | 
|---|---|
| パラメータ・タイプ | 文字列 | 
| 構文 | 
 例:  | 
| デフォルト値 | 
 | 
| 変更可能 | 
 | 
| PDBで変更可能 | はい | 
| 値の範囲 | 
 | 
| 基本 | いいえ | 
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に設定しないことをお薦めします。これによって、多数の既存インストール・スクリプトに文字長さセマンティクスを持つ列が予期せず作成され、バッファ・オーバーフローなどのランタイム・エラーが発生する場合があります。
                     
関連項目:
このパラメータの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください