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エンコードの文字列はサポートされていないため、エラーが発生します。