識別子に対する参照
識別子を参照するとき、名前には、単純名、修飾名、リモート名または修飾リモート名を使用します。
識別子の単純名は、その宣言に含まれる名前です。たとえば:
DECLARE a INTEGER; -- Declaration BEGIN a := 1; -- Reference with simple name END; /
識別子が名前付きPL/SQLユニットで宣言されている場合、その参照に修飾名を使用できます(場合によっては必須)。構文(ドット表記法と呼ばれる)は次のとおりです。
unit_name.simple_identifier_name
たとえば、パッケージp
で識別子a
を宣言している場合、その識別子は修飾名p
.a
で参照できます。ユニット名も修飾できます(場合によっては必須)。識別子を参照できない場合は、その識別子を修飾する必要があります(「識別子の有効範囲と可視性」を参照)。
リモート・データベース上のオブジェクトに識別子で名前が付けられている場合、その識別子はリモート名で参照する必要があります。構文は次のとおりです:
simple_identifier_name@link_to_remote_database
リモート・データベース上にあるPL/SQLユニットで識別子が宣言されている場合、その識別子は修飾リモート名で参照する必要があります。構文は次のとおりです:
unit_name.simple_identifier_name@link_to_remote_database
リモート・スキーマ・オブジェクトのシノニムは作成できますが、PL/SQLのサブプログラムまたはパッケージ内で宣言されたオブジェクトのシノニムは作成できません。シノニムを作成するには、SQL文CREATE
SYNONYM
を使用します(『Oracle Database SQL言語リファレンス』を参照)。
PL/SQLでのあいまいな名前の解決方法の詳細は、「PL/SQLの名前解決」を参照してください。
ノート:
パッケージSTANDARD
およびDBMS_STANDARD
で宣言された識別子は、同じ名前のローカル識別子を宣言していないかぎり、パッケージ名で修飾しなくても参照できます(「識別子の有効範囲と可視性」を参照)。