我想找到是否正在系统中的所有存储过程中的任何地方使用的表。 是否有一个查询来获取SP的所有细节。
Answer 1:
您可以使用SYSCAT.TABDEP和SYSCAT.ROUTINEDEP系统目录视图。
对于动态SQL语句表,已建成,在飞行中执行,您可以使用
select routinename,text from syscat.routines where language='SQL' and locate('<table-name>',text)>0
HTH
Sathyaram
Answer 2:
接受的答案并没有为我工作,为我们的DB2的特殊味道,但它让我在正确的方向。 这是我写的查询这让我搜索存储过程在一个给定的模式:
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM sysibm.routines
WHERE SPECIFIC_SCHEMA='<YourSchemaName>'
AND ROUTINE_DEFINITION LIKE '<YourSearchText>%'
用适当的值替换YourSchemaName和YourSearchText。
文章来源: In db2 how to find all the Stored Procedures having a given text in it