我们如何知道我的oracle表中的列是由另一个表的触发器填充/更新? [英] How can we figure out that a column in my oracle table is being populated/updated by a trigger of another table?

查看:169
本文介绍了我们如何知道我的oracle表中的列是由另一个表的触发器填充/更新?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

考虑一种情况,其中有两个表A和B。



表A具有触发器Ta加入这个项目,因此我完全不知道触发器],它更新了表B中名为colB的列。



主要使用表B和关注colB的方式,我不知道触发器Ta是否正在更新此列。



是,有没有直接的oracle查询/方式来查找一个表中的列是否正在由另一个表上运行的任何触发器更新?



感谢提前教育我

解决方案

<$ p $



p> SELECT *
FROM
user_sources
WHERE
type ='TRIGGER'
AND UPPER(text)LIKE'%UPDATE A% ;

但是如果查询在两行中,它将不起作用:

  UPDATE 
A
SET
...
pre>

因为 text 匹配对应对象中的给定行。


Consider a scenario, where there are two tables "A" and "B".

Table "A" has a trigger "Ta" [written long before me joining this project and thus I'm completely unaware of the trigger], which updates a column named "colB" in table "B".

Now, since I'm mostly using table "B" and concerned about the way "colB" is getting, I won't know if trigger "Ta" is updating this column.

So my question is, is there a direct oracle query/way to find if a column in one table is getting updated by any trigger running on another table?

Thanks in advance for educating me on this.

Regards a.b

解决方案

SELECT *
FROM 
    user_sources
WHERE
    type = 'TRIGGER'
AND UPPER(text) LIKE '%UPDATE A%';

But it won't work if the query is in two lines such as :

UPDATE
    A
SET
   ...

because text matches to a given line in the corresponding object.

这篇关于我们如何知道我的oracle表中的列是由另一个表的触发器填充/更新?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆