我是架构新手,不确定如何填充表(如何将数据插入表)。我们如何找到答案?
这应该有效。
select *
from dba_source
where upper(text) like '%TABLE_NAME%'
但是由于我没有DBA权限,因此无法执行此命令。另一种发现方法是什么?
答案 0 :(得分:1)
要查看您有权访问的对象之间的依赖性,可以查询the all_dependencies
data dictionary view。在这种情况下:
select * from all_dependencies where referenced_name = 'YOUR_TABLE_NAME';
如果对象位于您自己的架构中,则可以使用user_dependencies
视图。如果您想查看没有特权的对象,则可以使用dba_dependencies
,但是听起来好像您不太可能拥有查询该视图所需的特权,因为您看不到{{1} }。
当然,这只会标识存储的PL / SQL代码中的引用;它不会告诉您任何外部应用程序代码直接对数据库执行插入操作(而不是通过CRUD过程)或手动插入操作。
它只会告诉您哪些对象具有依赖性,您仍然需要通过查询dba_source
(如果您是所有者,则为all_source
)来挖掘对象源代码。相关的类型和名称。我会避免在注释中碰巧提到无法访问表名的注释,从而避免出现假阳性。您也可以在数据库外执行此操作-希望您的代码受源代码控制(对!?)。
答案 1 :(得分:0)
如果您知道需要运行查询但没有必要的特权,则可以使用USER_或ALL_视图编写查询以验证语法,然后将视图更改为DBA_并要求DBA运行查询你。