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

resourceName

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). 

resourceType

Can take one of the following values:

  • PROC: if the resource is a procedure
  • SCHEMA: if the resource is a schema
  • TABLE: if the resource is a table
  • VIEW: if the resource is a view

dependencyType

Optional, can take one of the following values:

  • CHILDREN: (default)to return child objects
  • PARENTS: to return parent objects

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