考虑一个场景,其中有两个表“A”和“B”.
表“A”有一个触发器“Ta”[在我加入这个项目之前就写好了,因此我完全没有意识到触发器],它更新了表“B”中名为“colB”的列.
现在,由于我主要使用表“B”并且关注“colB”的方式,我不知道触发器“Ta”是否正在更新此列.
所以我的问题是,有没有直接的oracle查询/方法来查找一个表中的列是否被另一个表上运行的任何触发器更新?
在此先感谢您对此进行教育.
问候
A·B
解决方法
SELECT * FROM user_sources WHERE type = 'TRIGGER' AND UPPER(text) LIKE '%UPDATE A%';
但如果查询分为两行,它将无法工作,例如:
UPDATE A SET ...
因为文本匹配相应对象中的给定行.