日本語PDF

13.20 DEFAULT COLLATION句

照合(ソート順序付けとも呼ばれる)は、2つの文字列が比較およびソートされるときに、ある文字列が別の文字列と等しいか、別の文字列の前に来るか後に来るかを決定します。Oracle Databaseの照合は、異なる言語で使用される、テキストのソートのルールに従って、文字列を並べ替えます。

DEFAULT COLLATION句は、次のSQL文に指定できます。

前提条件

COMPATIBLE初期化パラメータは少なくとも12.2.0に設定する必要があり、これらのSQL文で照合の宣言を許可するためにMAX_STRING_SIZEEXTENDEDに設定する必要があります。

構文

default_collation_clause ::=

collation_option ::=

セマンティクス

default_collation_clause

default_collation_clauseは、パッケージ仕様部、スタンドアロン型仕様部およびスタンドアロン・サブプログラムで記述できます。

collation_option

プロシージャ、ファンクション、パッケージ、型またはトリガーのデフォルトの照合はUSING_NLS_COMPであることが必要です。default_collation_clauseは、PL/SQLユニットのデフォルトの照合をUSING_NLS_COMPとして明示的に宣言します。この句がない場合、ユニットのデフォルトの照合は有効なスキーマのデフォルトの照合から継承されます。有効なスキーマのデフォルトの照合がUSING_NLS_COMPでない場合、ユニットは無効です。

有効なスキーマのデフォルトの照合は次のようにして決定されます。
  • セッション・パラメータDEFAULT_COLLATIONが設定されている場合、有効なスキーマのデフォルトの照合はこのパラメータの値です。パラメータの値は、SYS_CONTEXT('USERENV', 'SESSION_DEFAULT_COLLATION')を問い合せることでチェックできます。DEFAULT_COLLATIONが設定されていない場合、このファンクションはNULLを戻します。パラメータDEFAULT_COLLATIONの値は、次の文を使用して設定できます: ALTER SESSION SET DEFAULT_COLLATION = collation_option;

  • セッション・パラメータDEFAULT_COLLATIONが設定されていない場合、有効なスキーマのデフォルトの照合は、PL/SQLユニットの作成先となるスキーマの宣言済のデフォルトの照合です。スキーマのデフォルトの照合は、静的データ・ディクショナリ*_USERSビューにあります。これは、DDL文CREATE USERおよびALTER USERを使用して設定できます。

セッション・パラメータDEFAULT_COLLATIONは、次の文を使用して未設定にできます: ALTER SESSION SET DEFAULT_COLLATION = NONE;

パッケージ本体および型本体は、対応する仕様部のデフォルトの照合を使用します。プロシージャ、ファンクションおよびメソッド(パラメータおよび戻り値を含む)の文字データ・コンテナおよび属性はすべて、そのデータバインドされた照合が疑似照合USING_NLS_COMPであるかのように動作します。

DEFAULT COLLATIONの制限

ネストしたサブプログラムもしくはパッケージ・サブプログラムまたは型のメソッドに対して指定することはできません。

コンパイル・セマンティクス

結果的にデフォルトのオブジェクト照合がUSING_NLS_COMPと異なる場合、データベース・オブジェクトはコンパイル・エラーのため無効として作成されます。

REUSE SETTINGS句を指定したALTER COMPILE文がPL/SQLユニットに対して発行されると、コンパイルするデータベース・オブジェクトについて、格納されたデフォルトの照合は変更されません。

REUSE SETTINGS句なしでALTER COMPILE文が発行されると、コンパイルするデータベース・オブジェクトについて、格納されたデフォルトの照合は破棄され、PL/SQLユニットにDEFAULT COLLATION句が含まれていないかぎり、文の実行時のオブジェクト所有者の有効なスキーマのデフォルトの照合がそのオブジェクトのデフォルトの照合として格納されます。結果的にデフォルトの照合がUSING_NLS_COMPでない場合、コンパイル・エラーが発生します。

パッケージ本体または型本体のALTER COMPILE文は、対応する仕様部の格納された照合を参照します。

関連トピック

他の章:

その他のドキュメント: