SYSADMIN.getResourceDependencies
リソース名を指定すると、このシステムプロシージャはその依存関係をすべて返します:
CREATE
FOREIGN
PROCEDURE
getResourceDependencies(
IN
resourceName string
NOT
NULL
,
IN
resourceType string,
IN
dependencyType string,
OUT
dependentResourceName string
NOT
NULL
RESULT,
OUT
dependentResourceType string
NOT
NULL
,
OUT
parentResourceName string,
OUT
parentResourceType string,
OUT
permissionRoleName string,
OUT
permissionText string)
以下のパラメータを取ります:
Parameter | Description |
---|---|
| The name of the resource in question. Must include schema name. A '*' can be used to return all dependencies (the default dependency type is used). |
| Can take one of the following values:
|
| Optional, can take one of the following values:
|
Examples
1. スキーマのすべての要素のすべての子孫が表示されますが、このスキーマに属する親オブジェクトだけが表示されます:
SELECT
*
FROM
(CALL SYSADMIN.getResourceDependencies(
'sch_a'
,
'SCHEMA'
))
AS
a;
2. テーブルのすべての子孫が表示されますが、このテーブルを親として、このテーブルの子孫である他の親オブジェクトのみが表示されます:
SELECT
*
FROM
(CALL SYSADMIN.getResourceDependencies(
'sch_a.test_a'
,
'TABLE'
))
AS
a;
3. ビューのすべての子孫が表示されますが、このビューを親として、このビューの子孫である他の親のみが表示されます:
SELECT
*
FROM
(CALL SYSADMIN.getResourceDependencies(
'sch_a.v_a2'
,
'VIEW'
))
AS
a;
4. プロシージャのすべての子孫が表示されますが、このプロシージャを親として、このプロシージャの子孫である他の親オブジェクトのみが表示されます:
SELECT
*
FROM
(CALL SYSADMIN.getResourceDependencies(
'sch_a.pr_a3'
,
'PROC'
))
AS
a;
5. 完全な依存関係グラフを示します:
SELECT
*
FROM
(CALL SYSADMIN.getResourceDependencies(
'*'
,
null
))
AS
a;
//
or
SELECT
*
FROM
(CALL SYSADMIN.getResourceDependencies(resourceName =>
'*'
))
AS
a;
6. ビューのすべての子オブジェクトが表示されます:
SELECT
*
FROM
(CALL SYSADMIN.getResourceDependencies(
'sch_a.v_a2'
,
'VIEW'
,
'CHILDREN'
))
AS
a;
7. ビューのすべての親オブジェクトが表示されます:
SELECT
*
FROM
(CALL SYSADMIN.getResourceDependencies(
'sch_a.v_a2'
,
'VIEW'
,
'PARENTS'
))
AS
a;
SYSADMIN.getViewAndProcCreationOrder
このシステムプロシージャは、ビューとプロシージャの作成順序を取得します:
SYSADMIN.getViewAndProcCreationOrder(
OUT
creationOrder string
NOT
NULL
RESULT)
Example
SELECT
*
FROM
(CALL SYSADMIN.getViewAndProcCreationOrder())
AS
p