我正在使用DB2数据库,我希望有一个查询,它将迭代单个数据库中的所有存储过程并打印出每个存储过程的源代码。没有花哨的格式或性能要求。
这样做的原因(如果有更好的方法)是我试图在我们的存储过程中追踪特定表的用法,所以我希望能够通过所有的方式进行简单的文本搜索他们。
另外,如果有人知道通过它的方法,我可以访问SQuirreL SQL客户端。
答案 0 :(得分:1)
select ROUTINENAME, TEXT from syscat.routines
where definer not in ('SYSIBM') AND ROUTINESCHEMA='databaseName'
答案 1 :(得分:0)
我知道这已经过时了,但你的答案让我走上了正轨。我们也在使用DB2,但是我们没有看到syscat.routines。但是我们确实有SYSIBM.SYSROUTINES,它允许类似的做法
SELECT SCHEMA,
NAME,
TEXT
FROM SYSIBM.SYSROUTINES
WHERE SCHEMA = '<SCHEMA>'
and NAME = '<NAME>'
FOR FETCH ONLY WITH UR;