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 | オブジェクト識別子。 |
異常時の処理
すべてのエラーは例外を発生させることで処理されます。オブジェクト名を指定する際にはさまざまな構文エラーが発生する可能性があり、そのため多様な異常が生じる可能性があります。
現在のバージョンではUTF16エンコードの文字列はサポートされていないため、エラーが発生します。