0

在 DB2 中 - 是否有任何 SQL 语句,当我执行时,将返回引用表名的存储过程列表。

4

2 回答 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 回答