NAME_RESOLVE ストアドプロシージャは、指定された名前を解析するために使用され、必要なシノニム変換と権限チェックも実行します。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_UTILITY.NAME_RESOLVE (
name IN VARCHAR2,
context IN NUMBER,
schema OUT VARCHAR2,
part1 OUT VARCHAR2,
part2 OUT VARCHAR2,
dblink OUT VARCHAR2,
part1_type OUT NUMBER,
object_number OUT NUMBER);
パラメータの説明
パラメータ |
説明 |
|---|---|
| name | オブジェクトの名前。[[a.]b.]c[@d] の形式を指定できます。ここで、a、b、c はSQL識別子、d は dblink です。dblink に対して構文チェックは行われません。dblink を指定した場合、または名前解析後に dblink の内容が含まれる場合、そのオブジェクトは解析されませんが、schema、part1、part2、dblink OUT パラメータは設定されます。a、b、c は区切り文字となり得、グローバル化サポート (NLS) 文字(シングルバイトおよびマルチバイト)を含む場合があります。 |
| context | 0 から 9 の整数である必要があります。意味は以下のとおりです:
|
| schema | オブジェクトのスキーマ。name でスキーマが指定されていない場合、名前解析によってスキーマが決定されます。 |
| part1 | 名前の最初の部分。この部分の型は part1_type(シノニムまたはパッケージ)です。 |
| part2 | NULL 以外の場合、サブプログラム名です。part1 が NULL 以外の場合、サブプログラムは part1 で指定されたパッケージ内に存在します。part1 が NULL の場合、サブプログラムはトップレベルのサブプログラムです。 |
| dblink | NULL 以外の場合、データベースリンクを name の一部として指定するか、name をデータベースリンク内容のシノニムとして解析します。この場合、さらなる名前変換が必要な場合は、このリモートノードで DBMS_UTILITY.NAME_RESOLVE ストアドプロシージャを呼び出す必要があります。 |
| part1_type | part1 のタイプは以下のとおりです:
|
| object_number | オブジェクト識別子。 |
例外状況
すべてのエラーは例外をスローすることで処理されます。オブジェクト名の指定時には様々な構文エラーが発生する可能性があり、それに応じた複数の例外がスローされることがあります。
現在のバージョンではUTF-16エンコードの文字列はサポートされていないため、エラーが発生します。