我想在Oracle中检查是否有在数据库表上写入的任何过程或触发器在表中插入记录。
请帮我找出这个,因为我有一个现有的表,想要在该表中检查记录是如何插入的。
提前致谢!
答案 0 :(得分:1)
对象之间的依赖关系在系统中维护,可以从DBA_DEPENDENCIES(或ALL_或USER_DEPENDENCIES)中读取。
唯一的限制是不包括动态语句(例如使用execute immediate),因为它们在编译时是未知的。
答案 1 :(得分:0)
请使用以下代码段。希望这有帮助!
SELECT *
FROM
(SELECT owner,
name,
type,
referenced_owner,
referenced_name,
referenced_type,
owner sdev_link_owner,
name sdev_link_name,
type sdev_link_type
FROM ALL_DEPENDENCIES
WHERE REFERENCED_OWNER = 'OBJECT_OWNER'
AND referenced_name = 'TABLE_NAME'
) sub1
ORDER BY 3 ASC;