Oracle 用户如何从过程中读取依赖项

Oracle 用户如何从过程中读取依赖项,oracle,Oracle,如果我运行此查询: 选择不同的U.REFERENCED_名称、U.REFERENCED_类型 来自用户\U依赖项U 其中U.name位于('P\U CREATE\U T') 它将给我: U.REFERENCED_NAME | U.REFERENCED_TYPE random_name_table | table 如果我删除此表随机\u名称\u表: 删除随机表\u名称\u表 我运行dependecie查询,它会给我以下信息: U.REFERENCED_NAME

如果我运行此查询:

选择不同的U.REFERENCED_名称、U.REFERENCED_类型
来自用户\U依赖项U
其中U.name位于('P\U CREATE\U T')

它将给我:

  U.REFERENCED_NAME |  U.REFERENCED_TYPE
  random_name_table | table
如果我删除此表随机\u名称\u表:

删除随机表\u名称\u表

我运行dependecie查询,它会给我以下信息:

        U.REFERENCED_NAME        |  U.REFERENCED_TYPE
  BIN$6WfJh8MWWGngQ3ATqMDOpQ==$0 | table
我知道结果与回收站有关,但我想问的是,是否有一种方法可以显示表格,即使表格已被丢弃?我的意思是依赖查询不应该从过程中读取而不是从数据库中读取吗?如果没有,是否存在从过程而不是从数据库读取的查询


编辑
好的,我会说清楚:
我的问题是从过程或数据库读取的用户依赖项?
我的第二个问题回收站总是显示吗?我的意思是,有时会出现recylebin的结果吗?

我不确定我是否理解这个问题

如果要在recyclebin中查找对象的原始名称,可以

SELECT original_name
  FROM user_recyclebin
 WHERE object_name = 'BIN$6WfJh8MWWGngQ3ATqMDOpQ==$0'
这将为您提供您删除的
RANDOM\u TABLE\u NAME


不过,我不确定这是否是你的问题。我不知道“从过程中而不是从数据库中读取”意味着什么。我不确定我是否理解这个问题

如果要在recyclebin中查找对象的原始名称,可以

SELECT original_name
  FROM user_recyclebin
 WHERE object_name = 'BIN$6WfJh8MWWGngQ3ATqMDOpQ==$0'
这将为您提供您删除的
RANDOM\u TABLE\u NAME


不过,我不确定这是否是你的问题。我不知道“从过程中而不是从数据库中读取”意味着什么。我不确定我是否理解这个问题

如果要在recyclebin中查找对象的原始名称,可以

SELECT original_name
  FROM user_recyclebin
 WHERE object_name = 'BIN$6WfJh8MWWGngQ3ATqMDOpQ==$0'
这将为您提供您删除的
RANDOM\u TABLE\u NAME


不过,我不确定这是否是你的问题。我不知道“从过程中而不是从数据库中读取”意味着什么。我不确定我是否理解这个问题

如果要在recyclebin中查找对象的原始名称,可以

SELECT original_name
  FROM user_recyclebin
 WHERE object_name = 'BIN$6WfJh8MWWGngQ3ATqMDOpQ==$0'
这将为您提供您删除的
RANDOM\u TABLE\u NAME


不过,我不确定这是否是你的问题。我不知道“从过程而不是从数据库中读取”是什么意思。

每次创建、删除或修改对象时,Oracle都会自动记录依赖关系的更改。此信息存储在数据字典视图中。您可以在此处找到更多信息:

也就是说,为了回答您的问题,
USER\u DEPENDENCIES
不会读取,但每次更改过程时都会更新。当您删除表并将其发送到bin时,依赖项丢失(如果不重新创建表,则无法编译它)


因此,
USER\u DEPENDENCIES
是一个视图,它从数据库中读取,而不是从您的过程中读取。回收站结果将一直保留在那里,直到您的过程保持无效为止(您可以使用表重新编译或删除它以修复该问题)。

每次创建、删除或修改对象时,Oracle都会自动记录依赖项更改。此信息存储在数据字典视图中。您可以在此处找到更多信息:

也就是说,为了回答您的问题,
USER\u DEPENDENCIES
不会读取,但每次更改过程时都会更新。当您删除表并将其发送到bin时,依赖项丢失(如果不重新创建表,则无法编译它)


因此,
USER\u DEPENDENCIES
是一个视图,它从数据库中读取,而不是从您的过程中读取。回收站结果将一直保留在那里,直到您的过程保持无效为止(您可以使用表重新编译或删除它以修复该问题)。

每次创建、删除或修改对象时,Oracle都会自动记录依赖项更改。此信息存储在数据字典视图中。您可以在此处找到更多信息:

也就是说,为了回答您的问题,
USER\u DEPENDENCIES
不会读取,但每次更改过程时都会更新。当您删除表并将其发送到bin时,依赖项丢失(如果不重新创建表,则无法编译它)


因此,
USER\u DEPENDENCIES
是一个视图,它从数据库中读取,而不是从您的过程中读取。回收站结果将一直保留在那里,直到您的过程保持无效为止(您可以使用表重新编译或删除它以修复该问题)。

每次创建、删除或修改对象时,Oracle都会自动记录依赖项更改。此信息存储在数据字典视图中。您可以在此处找到更多信息:

也就是说,为了回答您的问题,
USER\u DEPENDENCIES
不会读取,但每次更改过程时都会更新。当您删除表并将其发送到bin时,依赖项丢失(如果不重新创建表,则无法编译它)


因此,
USER\u DEPENDENCIES
是一个视图,它从数据库中读取,而不是从您的过程中读取。回收站结果将一直保留在那里,直到您的过程保持无效为止(您可以使用表重新编译或删除它以修复该问题)。

请再次尝试明确问题的含义:“过程”是一个代码。代码是描述执行算法的一种方式,它不存储任何东西,只存储代码和一些在执行开始时初始化的常量。
所以,您的过程代码“读取”的任何内容(如果有)都来自“数据库”(磁盘存储和缓存),而不是其他任何地方

如果您的问题是关于什么是
user\u dependencies
,那么回答“is a view”:

sys.\u current\u edition\u obj
是另一个视图:

create or replace view sys._current_edition_obj as
select 
  -- ... skipped ...
from obj$ o, user$ u
where 
  -- .. skipped ...

sys.obj$和sys.user$是内部的Oracle表。

这只是另一个试图弄清楚问题含义的尝试:“过程”是一个代码。代码是描述执行算法的一种方式,它不存储任何东西,只存储代码和一些在执行时初始化的常量