sql – 我们如何判断我的oracle表中的列是否被另一个表的触发器填充/更新?

考虑一个场景,其中有两个表“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
   ...

因为文本匹配相应对象中的给定行.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...