
如何查看某个存储过程中,涉及到那些对象,例如表,索引等等
如何查看某个存储过程中,涉及到那些对象,例如表,索引等等
我来答
添加附件
收藏
复制链接
微信扫码分享

在小程序上查看
分享
添加附件
问题补充
2条回答
默认
最新
如果是oracle数据库,可以查询DBA_DEPENDENCIES


打赏 0
版本14开始,如果使用begin atomic语法创建新形式的函数或存储过程,则可以从pg_depend中查到依赖关系。
Demo如下:
CREATE TABLE test(id int,info text);
复制
创建依赖test表的函数f_test2
CREATE OR REPLACE FUNCTION public.f_test2() RETURNS character varying LANGUAGE sql begin atomic; select info from test limit 1; end;
复制
下面的语句可以查询函数f_test2依赖的表对象
SELECT refobjid::regclass,refobjsubid FROM pg_depend WHERE objid='f_test2'::regproc AND refclassid='pg_class'::regclass;
复制
refobjsubid字段是依赖test表的具体第几个列。


打赏 0
回答交流
Markdown
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
添加图片链接
上传图片
导航目录
Markdown语法参考
请输入正文
提示
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
