如何找出数据库表的填充位置?

Tam*_*ami 4 database oracle triggers procedure

我负责Oracle数据库,我们没有任何文档.目前我需要知道如何填充表格.

如何找出此表从哪个过程,触发器或其他来源获取其数据?

Gur*_*uru 8

甚至更好,查询DBA_DEPENDENCIES表(或其等价物USER_).您应该看到哪些对象依赖于它们以及谁拥有它们.

select owner, name, type, referenced_owner
from dba_dependencies
where referenced_name = 'YOUR_TABLE'
Run Code Online (Sandbox Code Playgroud)

是的,您需要查看对象以查看是否发生了INSERT.

这也是我上面的评论.

如果它不是生产系统,我建议你在INSERT之前使用一些自定义消息在TRIGGER中引发用户定义的异常,或者从INSERT中锁定表并监视尝试插入它们的应用程序失败.但是,你可能也会接到许多愤怒的人的电话.


Ult*_*mit 6

这很简单;-)

SELECT * FROM USER_SOURCE WHERE UPPER(TEXT) LIKE '%NAME_OF_YOUR_TABLE%';
Run Code Online (Sandbox Code Playgroud)

在输出中,您将拥有所有过程,函数等,以便在体内调用名为NAME_OF_YOUR_TABLE的表.