我的程序使用FOO用户ID登录到Oracle DB。它需要检索BAR模式中触发器的源代码,但是不能从ALL_SOURCE表访问触发器(我猜是由于配置)。我可以使用Toad for Oracle查看源代码,所以我假设还有一些其他方法可以用来检索触发器源代码。
当我执行查询时:
SQL> SELECT DISTINCT owner
2 FROM all_triggers;
我得到了这些结果,这正是我所期望的:
OWNER
------------------------------
FOO
BAR
当我执行查询时:
SQL> SELECT DISTINCT owner
2 FROM all_source;
我没有得到“ SYS,FOO,BAR”的预期结果。相反,我得到了:
OWNER
------------------------------
SYS
FOO
我的程序无权登录BAR模式,因此无法使用它和USER_SOURCE表。
由于我可以在Toad for Oracle中查看源代码,因此FOO模式可以某种方式查看代码,但是我不知道它是如何执行的。我的程序如何检索BAR的触发源代码?
编辑:我无权访问DBA_SOURCE。