GETPGUSERNAME¶
说明¶
获取当前视图或存储过程/函数的表依赖对象。
参数¶
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;