すべてのプロダクト
Search
ドキュメントセンター

PolarDB:DBMS_UTILITY

最終更新日:May 31, 2024

組み込みのDBMS_UTILITYパッケージは、さまざまなユーティリティサブプログラムを提供します。

サブプログラム

サブプログラム

説明

ANALYZE_DATABASEプロシージャ

データベース内のテーブルを分析します。

ANALYZE_SCHEMAプロシージャ

スキーマ内のテーブルを分析します。

ANALYZE_PART_OBJECTプロシージャ

単一のテーブルを分析します。

CANONICALIZEプロシージャ

指定された文字列を標準化します。

COMMA_TO_TABLEプロシージャ

コンマ (,) で区切られた名前識別子のリストを名前テーブルに変換します。

DB_VERSIONプロシージャ

データベースのバージョンを取得します。

EXEC_DDL_STATEMENTプロシージャ

DDLステートメントを実行します。

FORMAT_CALL_STACK関数

現在の呼び出し履歴をフォーマットします。

FORMAT_ERROR_BACKTRACE関数

現在のエラーポイントからエラーをキャッチする例外ハンドラーにスタック情報をフォーマットします。

FORMAT_ERROR_STACK関数

現在のエラースタックをフォーマットします。

GET_CPU_TIME関数

現在のCPU時間を100分の1秒で返します。

GET_DEPENDENCYプロシージャ

指定されたオブジェクトの依存関係を表示します。

GET_HASH_VALUE関数

指定された文字列のハッシュ値を計算します。

GET_PARAMETER_VALUE関数

データベース初期化パラメーター設定を取得します。

GET_TIME関数

現在のクロック時間を100分の1秒で返します。

NAME_TOKENIZEプロシージャ

指定した名前をコンポーネントに解析します。

TABLE_TO_COMMAプロシージャ

名前識別子のテーブルを、名前識別子がコンマ (,) で区切られたリストに変換します。

データ型

LNAME_ARRAY

LNAME_ARRAYデータ型は、完全修飾名を含む長い名前のリストを格納するために使用されます。

タイプLNAME_ARRAYはVARCHAR2(4000) のテーブルです。

UNCL_アレイ

UNCL_ARRAYデータ型は、名前識別子のリストを格納するために使用されます。

タイプUNCL_ARRAYはVARCHAR2(227) のテーブルです。

ANALYZE_DATABASE

このストアドプロシージャは、データベース内のテーブルを分析するために使用されます。

構文

<bx id="1" type="code" text="code code=" DBMS_UTILITY.ANALYZE_DATABASE (
VARCHAR2のメソッド、INTEGER DEFAULT NULLのestimate_rows、INTEGER DEFAULT NULLのestimate_percent、method_opt INVARCHAR2 DEFAULT NULL);"id=" eg9sgv "title=" "uuid=" lje0dzk3b6ejrxn873r "data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.ANALYZE_DATABASE (
   VARCHAR2のメソッド、
   INTEGER DEFAULT NULLのestimate_rows、
   INTEGER DEFAULT NULLのestimate_percent、
   method_opt IN VARCHAR2デフォルトNULL); 

Parameters

パラメーター

説明

method

ANALYZEステートメントの実行に使用されるメソッド。 有効な値:

  • DELETE

  • COMPUTE

  • 見積もり

COMPUTEメソッドとESTIMATEメソッドには違いはありません。 これらのメソッドは、ANALYZEステートメントの実行に使用されます。 その他のパラメータは、Oracleとの互換性のために提供され、実行中は無視されます。

estimate_rows

(オプション) 統計の見積もりに基づく行数。

estimate_percent

(オプション) 統計の見積もりに基づく行の割合。

method_opt

(オプション) 分析するオブジェクトのタイプ。

CALL DBMS_UTILITY.ANALYZE_DATABASE('COMPUTE');

ANALYZE_SCHEMA

このストアドプロシージャは、スキーマ内のテーブルを分析するために使用されます。

構文

<bx id="1" type="code" text="code id=" m70rck "title=" "uuid=" ljf27d2i7li5ugck6i3 "code=" DBMS_UTILITY.ANALYZE_SCHEMA (
スキーマIN VARCHAR2、VARCHAR2のメソッド、INTEGER DEFAULT NULLのestimate_rows、INTEGER DEFAULT NULLのestimate_percent、method_opt VARCHAR2 DEFAULT NULL);"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.ANALYZE_SCHEMA (
   スキーマIN VARCHAR2、
   VARCHAR2のメソッド、
   INTEGER DEFAULT NULLのestimate_rows、
   INTEGER DEFAULT NULLのestimate_percent、
   method_opt IN VARCHAR2デフォルトNULL); 

Parameters

パラメーター

説明

schema

スキーマの名前。

method

ANALYZEステートメントの実行に使用されるメソッド。 有効な値:

  • DELETE

  • COMPUTE

  • 見積もり

COMPUTEメソッドとESTIMATEメソッドには違いはありません。 これらのメソッドは、ANALYZEステートメントの実行に使用されます。 スキーマおよびメソッド以外のパラメータは、Oracleとの互換性のために提供され、実行中は無視されます。

estimate_rows

(オプション) 統計の見積もりに基づく行数。

estimate_percent

(オプション) 統計の見積もりに基づく行の割合。

method_opt

(オプション) 分析するオブジェクトのタイプ。

CALL DBMS_UTILITY.ANALYZE_SCHEMA('public' 、'compute');

ANALYZE_PART_OBJECT

このストアドプロシージャは、単一のテーブルを分析するために使用されます。

構文

<bx id="1" type="code" text="code id=" vxm4mq "title=" "uuid=" ljf27hm81zpa69w6gvd "code=" DBMS_UTILITY.ANALYZE_PART_OBJECT (
VARCHAR2 DEFAULT NULLのスキーマ、object_name IN VARCHAR2 DEFAULT NULL,
object_type IN CHAR DEFAULT 'T '、CHAR DEFAULT 'E' のcommand_type、command_opt IN VARCHAR2デフォルトNULL,
sample_clause IN VARCHAR2 DEFAULT 'sample 5 percent ');"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.ANALYZE_PART_OBJECT (
   VARCHAR2 DEFAULT NULLのスキーマ、
   object_name IN VARCHAR2 DEFAULT NULL,
   object_type IN CHAR DEFAULT 'T '、
   CHAR DEFAULT 'E' のcommand_type、
   command_opt IN VARCHAR2デフォルトNULL,
   sample_clause IN VARCHAR2 DEFAULT 'サンプル5パーセント'); 

Parameters

パラメーター

説明

schema

分析するオブジェクトのスキーマ名。

object_name

分析するオブジェクト。

object_type

(オプション) 分析するオブジェクトのタイプ。

command_type

(オプション) 実行する分析コマンドのタイプ。

command_opt

(オプションパラメーター) command_typeパラメーターで使用できるオプション。

sample_clause

(オプション) command_typeパラメーターが 'E' に設定されている場合に使用されるサンプル句。

説明

スキーマおよびobject_name以外のパラメータは、Oracleとの互換性のために提供され、実行中は無視されます。

CALL DBMS_UTILITY.analyze_part_object('public' 、'table2');

CANONICALIZE

このストアドプロシージャは、特定の文字列を標準化するために使用されます。

構文

<bx id="1" type="code" text="code id=" 9opprt "title=" "uuid=" lje0fqhmb531axezxy8 "code=" DBMS_UTILITY.CANONICALIZE (
VARCHAR2の名前、キヤノンOUT VARCHAR2、canon_len INTEGER);"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.CANONICALIZE (
   VARCHAR2の名前、
   キヤノンOUT VARCHAR2、
   canon_len IN INTEGER); 

Parameters

パラメーター

説明

name

標準化する文字列。

キヤノン

標準化されている文字列。

canon_len

nameパラメーターで指定された文字列の最初の文字から標準化するバイト数。

次の例は、特定の文字列を標準化する方法を示しています。

<bx id="1" type="code" text="code id=" bknwzh "title=" "uuid=" lje0hlqsjxynigfp8om "code=" DECLARE
名前varchar2デフォルト 'aBc.&quot;dEf&quot;.&quot;ghi&quot;';
長さ整数デフォルト50;
キヤノンvarchar2;
開始
DBMS_UTILITY.CANONICALIZE (名前、キヤノン、長さ);
DBMS_OUTPUT.PUT_LINE (キヤノン);
エンド;
- &quot;ABC&quot;.&quot;dEf&quot;.&quot;ghi&quot;"data-tag=" codeblock "outputclass=" language-sql ""/>DECLARE
  名前varchar2デフォルト 'aBc."dEf"."ghi" ';
  長さ整数デフォルト50;
  キヤノンvarchar2;
開始
    DBMS_UTILITY.CANONICALIZE (名前、キヤノン、長さ);
    DBMS_OUTPUT.PUT_LINE (キヤノン);
エンド;
-「ABC」。「dEf」。「ghi」 

COMMA_TO_TABLE

このストアドプロシージャは、コンマ (,) で区切られた名前識別子のリストを名前テーブルに変換するために使用されます。

構文

<bx id="1" type="code" text="code id=" 8hm7kn "title=" "uuid=" lje1bax3hm35kxpovwb "code=" DBMS_UTILITY.COMMA_TO_TABLE (
リストIN VARCHAR2,
tablen OUT INTEGER,
タブOUT UNCL_ARRAY);

DBMS_UTILITY.COMMA_TO_TABLE (
リストIN VARCHAR2,
tablen OUT INTEGER,
tab OUT LNAME_ARRAY);"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.COMMA_TO_TABLE ( 
   リストIN VARCHAR2,
   tablen OUT INTEGER,
   タブOUT UNCL_ARRAY); 

Parameters

パラメーター

説明

list

コンマ (,) で区切られた名前識別子のリスト。

tablen

tabパラメーターで指定されたテーブルのエントリ数。

タブ

listパラメーターで指定された名前識別子の名前を含むテーブル。

次の例は、コンマ (,) で区切られた名前識別子のリストを名前テーブルに変換する方法を示しています。

<bx id="1" type="code" text="code code=" DECLARE
lname DBMS_UTILITY.LNAME_ARRAY;
長さ整数;
リストvarchar2;
開始
list := 'a.b.c.d , b , c , select1';
DBMS_UTILITY.COMMA_TO_TABLE (リスト、長さ、lname);
FOR i IN 1 .. length LOOP
DBMS_OUTPUT.PUT_LINE('-> ' | | lname(i) | | '<- ' | | | length(lname(i)));
エンドループ;
DBMS_OUTPUT.PUT_LINE('-- finished --');
エンド;

-> a.b.c.d <- 8
-> b <- 3
-> c <- 3
-> select1 <- 8
-- finished -- "id=" uot6gd "title=" "uuid=" lje1gr47lk7gi8ytjyh "data-tag=" codeblock "outputclass=" language-sql ""/>DECLARE
    lname DBMS_UTILITY.LNAME_ARRAY;
    長さ整数;
    リストvarchar2;
開始
    list := 'a.b.c.d , b , c , select1';
    DBMS_UTILITY.COMMA_TO_TABLE (リスト、長さ、lname);
    FOR i IN 1 .. length LOOP
        DBMS_OUTPUT.PUT_LINE('-> ' | | lname(i) | | '<- ' | | | length(lname(i)));
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('-- finished --');
エンド;

-> a.b.c.d <- 8
-> b <- 3
-> c <- 3
-> select1 <- 8
-終了- 

DB_VERSION

このストアドプロシージャは、データベースバージョンの情報を取得するために使用されます。

構文

<bx id="1" type="code" text="code id=" icncxm "title=" "uuid=" lje1nrs0vwmf2m8r0g "code=" DBMS_UTILITY.DB_VERSION (
バージョンOUT VARCHAR2、互換性OUT VARCHAR2); "data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.DB_VERSION (
   バージョンOUT VARCHAR2、
   互換性OUT VARCHAR2); 

Parameters

パラメーター

説明

version

データベースのバージョン。

compatibility

このパラメータは、Oracleとの互換性のために提供されており、無視できます。

次の例は、データベースバージョンの情報を取得する方法を示しています。

<bx id="1" type="code" text="code id=" k3h7cb "title=" "uuid=" lje1ptyfdbng6a6bfcd "code=" DECLARE
バージョンvarchar2(100);
両立性varchar2(100);
開始
DBMS_UTILITY.DB_VERSION (バージョン、互換性);
DBMS_OUTPUT.PUT_LINE (バージョン);
DBMS_OUTPUT.PUT_LINE (互換性);
エンド;
-- PostgreSQL 14.8 (PolarDB 14.8.10.0ビルド0d3bf26cデバッグ)
-- PostgreSQL 14.8 (PolarDB 14.8.10.0 build 0d3bf26c debug)"data-tag=" codeblock "outputclass=" language-sql ""/>DECLARE
    バージョンvarchar2(100);
    両立性varchar2(100);
開始
    DBMS_UTILITY.DB_VERSION (バージョン、互換性); 
    DBMS_OUTPUT.PUT_LINE (バージョン);
    DBMS_OUTPUT.PUT_LINE (互換性);
エンド;
-- PostgreSQL 14.8 (PolarDB 14.8.10.0ビルド0d3bf26cデバッグ)
-- PostgreSQL 14.8 (PolarDB 14.8.10.0ビルド0d3bf26cデバッグ) 

EXEC_DDL_STATEMENT

このストアドプロシージャは、DDLステートメントの実行に使用されます。

構文

<bx id="1" type="code" text="code id=" ryolxa "title=" "uuid=" lje1uqbbmt41hvpqdj "code=" DBMS_UTILITY.EXEC_DDL_STATEMENT (
parse_string IN VARCHAR2);"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.EXEC_DDL_STATEMENT (
   parse_string IN VARCHAR2); 

Parameters

パラメーター

説明

parse_string

実行するDDLステートメント。

次の例は、EXEC_DDL_STATEMENTストアドプロシージャを使用してDDLステートメントを実行する方法を示しています。

<bx id="1" type="code" text="code id=" 9g2bpw "title=" "uuid=" lje1w3dhl4e6gf5057 "code=" CALL DBMS_UTILITY.EXEC_DDL_STATEMENT('CREATE TABLE test(a int, b varchar2(20)))');

SELECT * テストから;
a | b
--- + ---
(0行) "data-tag=" codeblock "outputclass=" language-sql ""/>CALL DBMS_UTILITY.EXEC_DDL_STATEMENT('CREATE TABLE test(a int, b varchar2 (20))');

SELECT * テストから;
 a | b
--- + ---
(0行) 

FORMAT_CALL_STACK

この関数は、現在の呼び出し履歴をフォーマットするために使用されます。

構文

<bx id="1" type="code" text="code id=" gptbif "title=" "uuid=" lje1zdbrq99bxi0s5 "code=" DBMS_UTILITY.FORMAT_CALL_STACK();
RETURN VARCHAR2;"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.FORMAT_CALL_STACK();
  戻りVARCHAR2; 

戻り値

戻り値

説明

VARCHAR2

フォーマットされたコールスタックの情報。

次の例は、現在の呼び出し履歴をフォーマットする方法を示しています。

<bx id="1" type="code" text="code id=" 2q36rt "title=" "uuid=" lje26x8x18a408m01ss "code=" CREATE FUNCTION func() RETURNS varchar2
IS
開始
dbms_utility.format_call_stack() を返します。エンド;

select * from func();
func
--------------------------------------------------
----- PL/SQLコールスタック -----
オブジェクトラインオブジェクト +
ハンドル番号名 +
0 2関数format_call_stack()+
17089 2関数func()
(1行) "data-tag=" codeblock "outputclass=" language-sql ""/>CREATE FUNCTION func() RETURNS varchar2
IS
開始
     dbms_utility.format_call_stack() を返します。エンド;

select * from func();
                       func
--------------------------------------------------
 ----- PL/SQLコールスタック -----
   オブジェクトラインオブジェクト +
   ハンドル番号名 +
        0 2関数format_call_stack()+
    17089 2関数func()
(1行) 

FORMAT_ERROR_BACKTRACE

この関数は、現在のエラーポイントからエラーをキャッチする例外ハンドラーにスタック情報をフォーマットします。

構文

<bx id="1" type="code" text="code id=" ntx5ov "title=" "uuid=" lje2a10jndstvidxyer "code=" DBMS_UTILITY.FORMAT_ERROR_BACKTRACE()
RETURN VARCHAR2;"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.FORMAT_ERROR_BACKTRACE()
  戻りVARCHAR2; 

戻り値

戻り値

説明

VARCHAR2

バックトラックされたスタックの情報。

次の例では、関数の呼び出しチェーンを作成します。 この例では、呼び出された関数は例外をスローし、呼び出し元は例外をキャッシュし、FORMAT_ERROR_BACKTRACE関数を使用してエラースタックの情報を表示します。

<bx id="1" type="code" text="code code=" CREATE FUNCTION inner (整数) RETURNS integer
IS
DECLARE
res integer;
開始
res = a/0;
リターンres;
例外
他の人が
昇格例外「予想される例外」;
エンド;

CREATE FUNCTION outer() 整数を返す
IS
開始
リターンインナー (100);
例外
他の人が
DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE());
リターン-1;
エンド;

デュアルから外側 () を選択します。----- エラースタック -----
ERR-33816706: ゼロによる除算
PL/SQL関数&quot; インナー&quot;(整数) 割り当て時の4行目
PL/SQL関数&quot; アウター&quot;() 行2 at RETURN
ERR-16777248: 予想される例外
PL/SQL関数&quot; インナー&quot;(整数) RAISEで8行目
PL/SQL関数&quot;outer&quot;() 2行目RETURN "id=" bwswxe "title=" "uuid=" lje2b491wzrv16s00sf "data-tag=" codeblock "outputclass=" language-sql ""/>CREATE function inner (整数) RETURNS integer
IS
DECLARE
  res integer;
開始
  res = a/0;
  リターンres;
例外
  他の人が
    昇格例外「予想される例外」;
エンド;

CREATE FUNCTION outer() 整数を返す
IS
開始
  リターンインナー (100);
例外
  他の人が
    DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE());
    リターン-1;
エンド;

デュアルから外側 () を選択します。----- エラースタック -----
ERR-33816706: ゼロによる除算
割り当て時のPL/SQL関数「inner」 (整数) 行4
PL/SQL関数 "outer"() 行2 (RETURN)
ERR-16777248: 予想される例外
RAISEでのPL/SQL関数「inner」 (整数) 行8
PL/SQL関数 "outer"() 行2 at RETURN 

FORMAT_ERROR_STACK

この関数は、現在のエラースタックをフォーマットするために使用されます。

構文

<bx id="1" type="code" text="code id=" hvqvwt "title=" "uuid=" lje2m23efogbyxdv0ov "code=" DBMS_UTILITY.FORMAT_ERROR_STACK
RETURN VARCHAR2;"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.FORMAT_ERROR_STACK 
  戻りVARCHAR2; 

戻り値

戻り値

説明

VARCHAR2

フォーマットされたエラー呼び出しスタックの情報。

次の例では、呼び出される関数が例外をスローする呼び出しチェーンを作成し、呼び出し元は例外をキャッシュし、FORMAT_ERROR_STACK関数を使用してエラースタックの情報を表示します。

<bx id="1" type="code" text="code id=" w3rymp "title=" "uuuid=" lje2oau08by6f284o1h "code=" CREATE FUNCTION inner (整数) RETURNS integer
IS
DECLARE
res integer;
開始
res = a/0;
リターンres;
例外
他の人が
昇格例外「予想される例外」;
エンド;

CREATE FUNCTION outer() 整数を返す
IS
開始
リターンインナー (100);
例外
他の人が
DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_STACK());
リターン-1;
エンド;

デュアルから外側 () を選択します。----- エラースタック -----
ERR-33816706: ゼロによる除算
PL/SQL関数&quot; インナー&quot;(整数) 割り当て時の4行目
PL/SQL関数&quot; アウター&quot;() 行2 at RETURN
ERR-16777248: 予想される例外
PL/SQL関数&quot; インナー&quot;(整数) RAISEで8行目
PL/SQL関数&quot;outer&quot;() 2行目RETURN "data-tag=" codeblock "outputclass=" language-sql ""/>CREATE function inner (整数) RETURNS integer
IS
DECLARE
  res integer;
開始
  res = a/0;
  リターンres;
例外
  他の人が
    昇格例外「予想される例外」;
エンド;

CREATE FUNCTION outer() 整数を返す
IS
開始
  リターンインナー (100);
例外
  他の人が
    DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_STACK());
    リターン-1;
エンド;

デュアルから外側 () を選択します。----- エラースタック -----
ERR-33816706: ゼロによる除算
割り当て時のPL/SQL関数「inner」 (整数) 行4
PL/SQL関数 "outer"() 行2 (RETURN)
ERR-16777248: 予想される例外
RAISEでのPL/SQL関数「inner」 (整数) 行8
PL/SQL関数 "outer"() 行2 at RETURN 

GET_CPU_TIME

この関数は、現在のCPU時間を返すために使用されます。

構文

<bx id="1" type="code" text="code id=" skm4os "title=" "uuid=" lje2twc5rima0gzt03p "code=" DBMS_UTILITY.GET_CPU_TIME
RETURN INTEGER;"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.GET_CPU_TIME
   戻りますインテガー; 

戻り値

戻り値

説明

INTEGER

任意の時点のCPU時間 (100分の1秒) 。

次の例は、プログラムがスリープする前と後に2つのCPU時間値を返す方法を示しています。 2つのCPU時間値の差は、プログラムのスリープ時間よりもはるかに小さい。

<bx id="1" type="code" text="code code=" BEGIN
DBMS_OUTPUT.PUT_LINE('start cpu time:'| | DBMS_UTILITY.GET_CPU_TIME());
-- 開始cpu時間: 11
DBMS_SESSIONS.LEEP (5);
DBMS_OUTPUT.PUT_LINE('end cpu time:'| | DBMS_UTILITY.GET_CPU_TIME());
-終了cpu時間: 11
END;"id=" x7w3dk "title=" "uuid=" lje2uusa8fi7xwojd35 "data-tag=" codeblock "outputclass=" language-sql ""/>BEGIN
    DBMS_OUTPUT.PUT_LINE('start cpu time:'| | DBMS_UTILITY.GET_CPU_TIME());
-- 開始cpu時間: 11
    DBMS_SESSIONS.LEEP (5);
    DBMS_OUTPUT.PUT_LINE('end cpu time:'| | DBMS_UTILITY.GET_CPU_TIME());
-終了cpu時間: 11
エンド; 

GET_DEPENDENCY

このストアドプロシージャは、特定のオブジェクトの依存関係を表示するために使用されます。

構文

<bx id="1" type="code" text="code id=" 1ahnqs "title=" "uuid=" lje34a7rs4bh40g8e5h "code=" DBMS_UTILITY.GET_DEPENDENCY
タイプIN VARCHAR2、スキーマIN VARCHAR2、"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.GET_DEPENDENCY
   タイプIN VARCHAR2、
   スキーマIN VARCHAR2、
   名前インVARCHAR2); 

Parameters

パラメーター

説明

type

nameパラメーターで指定されたオブジェクトの型。

schema

nameパラメーターで指定されたオブジェクトが存在するスキーマの名前。

name

依存関係を取得するオブジェクトの名前。

次の例では、テーブルとテーブルのビューを作成します。 次に、GET_DEPENDENCYストアドプロシージャを使用してビューの依存関係を表示する例を示します。

<g id="1" type="code" text="code id=" 4kgpcs "title=" "uuuid=" lje37scnfaojwe7xy5h "code=" CREATE TABLE t(a int、b int);
ビューを作成するv AS SELECT a, b FROM t;
CALL DBMS_UTILITY.GET_DEPENDENCY('view '、'public' 、'v');
-- TABLE T "data-tag=" codeblock "outputclass=" language-sql "">CREATE TABLE t(a int、b int);
ビューを作成するv AS SELECT a, b FROM t;
CALL DBMS_UTILITY.GET_DEPENDENCY('view '、'public' 、'v');
-- テーブルT 

GET_HASH_VALUE

この関数は、特定の文字列のハッシュ値を計算するために使用されます。

構文

<bx id="1" type="code" text="code id=" 0upfnk "title=" "uuid=" lje3cfy101mj5vwzf762 "code=" DBMS_UTILITY.GET_HASH_VALUE (
名前VARCHAR2、ベースINTEGER,
hash_size INTEGER)
RETURN INTEGER;"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.GET_HASH_VALUE (
   名前VARCHAR2、 
   ベースINTEGER, 
   hash_size INTEGER)
  戻りますインテガー; 

Parameters

パラメーター

説明

name

ハッシュ値を計算する文字列。

base

返されたハッシュ値の開始ベース値。

hash_size

返されるハッシュ値の範囲。

戻り値

戻り値

説明

INTEGER

生成されたハッシュ値。

次の例は、特定の文字列のハッシュ値を計算する方法を示しています。 この例によって計算されるハッシュ値は1から99の範囲である。

<bx id="1" type="code" text="code id=" it0ugi "title=" "uuid=" lje3mkkjh10j2occ6bm "code=" SELECT DBMS_UTILITY.GET_HASH_VALUE('PolarDB ', 1, 100) デュアルから;

get_hash_value
----------------
67
(1行) "data-tag=" codeblock "outputclass=" language-sql ""/>SELECT DBMS_UTILITY.GET_HASH_VALUE('PolarDB', 1, 100) FROM dual;

 get_hash_value
----------------
             67
(1行) 

GET_PARAMETER_VALUE

この関数は、データベース初期化パラメーター設定を取得するために使用されます。

構文

<bx id="1" type="code" text="code id=" n79bdg "title=" "uuid=" lje3ub4yd5vt3enem86 "code=" DBMS_UTILITY.GET_PARAMETER_VALUE (
パルナムIN VARCHAR2,
intval OUT INTEGER,
strval OUT VARCHAR2)
RETURN INTEGER;"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.GET_PARAMETER_VALUE (
   パルナムIN VARCHAR2,
   intval OUT INTEGER,
   strval OUT VARCHAR2)
  戻りますインテガー; 

Parameters

パラメーター

説明

parnam

値が返されるパラメーターの名前。 パラメーターは pg_settings システムビューにリストされます。

intval

整数パラメーターの値またはstrvalパラメーターの長さ。

strval

文字列パラメーターの値。

戻り値

戻り値

説明

INTEGER

パラメーターがINTEGERに設定されている場合、値0が返されます。 それ以外の場合、値1が返されます。

次の例は、GET_PARAMETER_VALUE関数を使用して文字列型と整数型のパラメーターを取得する方法を示しています。

<bx id="1" type="code" text="code id=" yxzphx "title=" "uuid=" lje40lw4ok0nsxx9uoh "code=" DECLARE
intval INTEGER;
strval VARCHAR2(80);
retインテガー;
開始
ret := DBMS_UTILITY.GET_PARAMETER_VALUE('client_encoding' 、intval、strval);
DBMS_OUTPUT.PUT_LINE('ret is: '| | | ret | |'; intval is: '| | intval | |'; strval is: '| strval);
ret := DBMS_UTILITY.GET_PARAMETER_VALUE('block_size ', intval, strval);
DBMS_OUTPUT.PUT_LINE('ret is: '| | | ret | |'; intval is: '| | intval | |'; strval is: '| strval);
エンド;
ret is: 1; intval is: 4; strval is: UTF8
ret is: 0; intval is: 8192; strval is:"data-tag=" codeblock "outputclass=" language-sql ""/>DECLARE
    intval INTEGER;
    strval VARCHAR2(80);
    retインテガー;
開始
    ret := DBMS_UTILITY.GET_PARAMETER_VALUE('client_encoding' 、intval、strval);
    DBMS_OUTPUT.PUT_LINE('ret is: '| | | ret | |'; intval is: '| | intval | |'; strval is: '| strval);
    ret := DBMS_UTILITY.GET_PARAMETER_VALUE('block_size ', intval, strval);
    DBMS_OUTPUT.PUT_LINE('ret is: '| | | ret | |'; intval is: '| | intval | |'; strval is: '| strval);
エンド;
ret is: 1; intval is: 4; strval is: UTF8
ret is: 0; intval is: 8192; strval is: 

GET_TIME

この関数は、現在の時刻を返すために使用されます。

構文

<bx id="1" type="code" text="code id=" agy7bt "title=" "uuuid=" lje44bsdmf77621jss "code=" DBMS_UTILITY.GET_TIME
RETURN INTEGER;"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.GET_TIME
  戻りますインテガー; 

戻り値

戻り値

説明

INTEGER

100分の1秒単位の任意の時点での時刻。

次の例は、GET_TIME関数を使用して、プログラムの実行前後の時差を取得する方法を示しています。

<bx id="1" type="code" text="code id=" 07s3yy "title=" "uuid=" lje46cl0vqf4woamoal "code=" DECLARE
start_time整数;
end_time整数;
開始
start_time := DBMS_UTILITY.GET_TIME;
DBMS_LOCK.S.LEEP (5);
end_time := DBMS_UTILITY.GET_TIME;
DBMS_OUTPUT.PUT_LINE('total time is:'| | end_time - start_time);
END;"data-tag=" codeblock "outputclass=" language-sql ""/>DECLARE
  start_time整数;
  end_time整数;
開始
    start_time := DBMS_UTILITY.GET_TIME;
    DBMS_LOCK.S.LEEP (5);
    end_time := DBMS_UTILITY.GET_TIME;
    DBMS_OUTPUT.PUT_LINE('total time is:'| | end_time - start_time);
エンド; 

NAME_TOKENIZE

このストアドプロシージャは、指定された名前をそのコンポーネントに解析するために使用されます。

構文

<bx id="1" type="code" text="code id=" pfikra "title=" "uuuid=" ljf13m3okeko72kafq "code=" DBMS_UTILITY.NAME_TOKENIZE (
VARCHAR2の名前、a OUT VARCHAR2、bアウトVARCHAR2、cアウトVARCHAR2、dblink OUT VARCHAR2、nextpos OUT INTEGER);"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.NAME_TOKENIZE ( 
   VARCHAR2の名前、
   a OUT VARCHAR2、
   bアウトVARCHAR2、
   c OUT VARCHAR2、
   dblink OUT VARCHAR2、 
   nextpos OUT INTEGER); 

Parameters

パラメーター

説明

name

入力名。 名前は、a [ .] の形式のSQL識別子で構成されます。 b [ . c] [[@ dblink] 。

a

nameパラメーター値の最初の識別子。

b

nameパラメーター値の2番目の識別子。

c

nameパラメーター値の3番目の識別子。

dblink

nameパラメーター値のdblinkフィールド。

nextpos

入力名の次の文字位置が解析されます。

次の例は、NAME_TOKENIZEストアドプロシージャを使用して指定された名前を解析する方法を示しています。

<bx id="1" type="code" text="code code=" DECLARE
varchar2;
b varchar2;
c varchar2;
dblink varchar2;
nextpos整数;
名前varchar2;
開始
名前:= 'sch.tbl @ dblink';
DBMS_UTILITY.NAME_TOKENIZE(name、a、b、c、dblink、nextpos);
DBMS_OUTPUT.PUT_LINE('name : '| | name);
DBMS_OUTPUT.PUT_LINE('a : '| | a);
DBMS_OUTPUT.PUT_LINE('b : '| | b);
DBMS_OUTPUT.PUT_LINE('c : '| | c);
DBMS_OUTPUT.PUT_LINE('dblink : '| | dblink);
DBMS_OUTPUT.PUT_LINE('nextpos: '| | nextpos);
エンド;
名前: sch.tbl @ dblink
a : SCH
b : TBL
c:
dblink : DBLINK
nextpos: 14 "id=" al8vgl "title=" "uuid=" ljf1g81d2nw3tgpxo2v "data-tag=" codeblock "outputclass=" language-sql ""/>DECLARE
  varchar2;
  b varchar2;
  c varchar2;
  dblink varchar2;
  nextpos整数;
  名前varchar2;
開始
  名前:= 'sch.tbl @ dblink';
  DBMS_UTILITY.NAME_TOKENIZE(name、a、b、c、dblink、nextpos);
  DBMS_OUTPUT.PUT_LINE('name : '| | name);
  DBMS_OUTPUT.PUT_LINE('a : '| | a);
  DBMS_OUTPUT.PUT_LINE('b : '| | b);
  DBMS_OUTPUT.PUT_LINE('c : '| | c);
  DBMS_OUTPUT.PUT_LINE('dblink : '| | dblink);
  DBMS_OUTPUT.PUT_LINE('nextpos: '| | nextpos);
エンド;
名前: sch.tbl @ dblink
a : SCH
b : TBL
c:
dblink : DBLINK
nextpos: 14 

TABLE_TO_COMMA

このストアドプロシージャは、名前識別子のテーブルを、名前識別子がコンマ (,) で区切られたリストに変換するために使用されます。

構文

<bx id="1" type="code" text="code id=" 5vvcao "title=" "uuid=" ljf1mpqukfp4exhb8h "code=" DBMS_UTILITY.TABLE_TO_COMMA (
タブUNCL_ARRAYで、tablen OUT INTEGER,
リストOUT VARCHAR2);

DBMS_UTILITY.TABLE_TO_COMMA (
タブLNAME_ARRAYで、tablen OUT INTEGER,
list OUT VARCHAR2);"data-tag=" codeblock "outputclass=" language-sql ""/>DBMS_UTILITY.TABLE_TO_COMMA ( 
   タブUNCL_ARRAYで、 
   tablen OUT INTEGER,
   リストOUT VARCHAR2); 

Parameters

パラメーター

説明

タブ

名前識別子を含むテーブル。

tablen

tabパラメーターで指定されたテーブルのエントリ数。

list

コンマ (,) で区切られた名前識別子のリスト。

次の例は、名前識別子のテーブルを名前識別子がコンマ (,) で区切られたリストに変換する方法を示しています。

<bx id="1" type="code" text="code code=" DECLARE
結果varchar2;
長さ整数;
リストdbms_utility.lname_array;
開始
list := dbms_utility.lname_array('name1', 'name2', 'name3');
DBMS_UTILITY.TABLE_TO_COMMA (リスト、長さ、結果);
DBMS_OUTPUT.PUT_LINE('result is: '| | result | |'; length is: '| | length );
エンド;
-- result is: name1,name2,name3; length is: 3 "id=" fwgxot "title=" "uuid=" ljf1qf8z7sdeu056hwv "data-tag=" codeblock "outputclass=" language-sql ""/>DECLARE
    結果varchar2;
    長さ整数;
    リストdbms_utility.lname_array;
開始
    list := dbms_utility.lname_array('name1', 'name2', 'name3');
    DBMS_UTILITY.TABLE_TO_COMMA (リスト、長さ、結果);
    DBMS_OUTPUT.PUT_LINE('result is: '| | result | |'; length is: '| | length );
エンド;
-結果は: name1、name2、name3です。長さは: 3