Oracle 用户如何从过程中读取依赖项
如果我运行此查询: 选择不同的U.REFERENCED_名称、U.REFERENCED_类型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依赖项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表。这只是另一个试图弄清楚问题含义的尝试:“过程”是一个代码。代码是描述执行算法的一种方式,它不存储任何东西,只存储代码和一些在执行时初始化的常量