在 DB2 中 - 是否有任何 SQL 语句,当我执行时,将返回引用表名的存储过程列表。
问问题
1948 次
2 回答
1
您可以为此使用目录视图 SYSCAT.ROUTINEDEP:
select specificname, routineschema from syscat.routinedep where btype='F' and bschema='yourschema' and bname='yourtable'
这将返回依赖于 yourschema.yourtable 标识的引用表的所有例程(包括存储过程)
于 2015-07-31T18:04:05.090 回答
1
有一个目录视图SYSCAT.ROUTINEDEP
:
SELECT R.ROUTINESCHEMA, R.ROUTINENAME
FROM SYSCAT.ROUTINEDEP D, SYSCAT.ROUTINES R
WHERE D.ROUTINESCHEMA = R.ROUTINESCHEMA AND D.SPECIFICNAME = R.SPECIFICNAME
AND D.BTYPE IN ('T','V','A')
AND D.BSCHEMA = 'MYTABLESCHEMA' AND D.BNAME = 'MYTABLENAME'
请记住,动态 SQL 引用的表不会出现在SYSCAT.ROUTINEDEP
.
于 2015-07-31T18:09:53.817 回答