GETPGUSERNAME

说明

获取当前视图或存储过程/函数的表依赖对象。

语法

getdependname ::=

参数

schema_name

模式名

obj_name

对象名

obj_type

对象类型

注解

当前仅支持三种类型,分别是PROCEDURE(存储过程)、FUNCTION(函数)、VIEW(视图)。

返回值

找到的依赖表对象

示例

示例1: 获得存储过程的依赖对象

--  创建表
CREATE TABLE TEST(a INT);

--  单个依赖对象
CREATE OR REPLACE PROCEDURE PROC1 AS
BEGIN
    INSERT INTO TEST VALUES(1/1);
END;
/

--  查看存储过程PROCEDURE的依赖对象
SELECT * FROM GETDEPENDNAME('SYSDBA','PROC1','PROCEDURE');
 GETDEPENDNAME
---------------
 SYSDBA.TEST
(1 row)

--  删除存储过程
DROP PROCEDURE PROC1;

示例2: 获得函数的依赖对象

--  单个依赖对象
CREATE OR REPLACE FUNCTION F1(A INT) RETURN INT IS
    R INT;
BEGIN
    R := 1;
    INSERT INTO TEST VALUES(1/1);
    RETURN R;
END;
/

--  查看函数FUNCTION的依赖对象
SELECT * FROM GETDEPENDNAME('SYSDBA','F1','FUNCTION');
 GETDEPENDNAME
---------------
 SYSDBA.TEST
(1 row)

--  删除函数F1
DROP FUNCTION F1;

示例3: 获得视图的依赖对象

--  单个依赖对象
CREATE FORCE VIEW V1 AS SELECT * FROM TEST;

--  查看视图VIEW的依赖对象
SELECT * FROM GETDEPENDNAME('SYSDBA','V1','VIEW');
 GETDEPENDNAME
---------------
 SYSDBA.TEST
(1 row)

--  删除视图
DROP VIEW V1;

--  删除表
DROP TABLE TEST;