在 Oracle 19c 数据库中,当我们删除 table 时,使用此 table 的过程、触发器、索引会发生什么?
In Oracle 19c database, when we drop a table what happens to the procedures, triggers, index that uses this table?
在 Oracle 19c 数据库中,当我们删除 table 使用此 table 的过程、触发器、索引时会发生什么?
触发器、过程、索引会自动删除还是
会变成INVALID状态吗?
我想知道正确的流程是什么
当你知道你已经拥有时,在删除 table 时跟随
与该特定关联的触发器、过程、索引
table?
请帮帮我。
table 上的索引和触发器将被删除(授权也一样)
同义词和观点将失效
在过程、包、函数和触发器中对 table 的硬编码引用将使它们无效。通过动态引用 SQL 不会导致失效,但在执行时会失败。
查询 DBA_DEPENDENCIES 视图以查看哪些对象具有依赖关系并将失效。可能会产生影响(删除 table 会使过程无效,调用该过程的包将无效,即使它没有直接引用 table)。
如果所有用法都在同一个user/schema内,您可以改为查询USER_DEPENDENCIES。不要理会 ALL_DEPENDENCIES 视图,因为如果另一个用户创建了引用受害者 table 的对象,您可能无权查看该对象。
在 Oracle 19c 数据库中,当我们删除 table 使用此 table 的过程、触发器、索引时会发生什么?
触发器、过程、索引会自动删除还是 会变成INVALID状态吗?
我想知道正确的流程是什么 当你知道你已经拥有时,在删除 table 时跟随 与该特定关联的触发器、过程、索引 table?
请帮帮我。
table 上的索引和触发器将被删除(授权也一样)
同义词和观点将失效
在过程、包、函数和触发器中对 table 的硬编码引用将使它们无效。通过动态引用 SQL 不会导致失效,但在执行时会失败。
查询 DBA_DEPENDENCIES 视图以查看哪些对象具有依赖关系并将失效。可能会产生影响(删除 table 会使过程无效,调用该过程的包将无效,即使它没有直接引用 table)。
如果所有用法都在同一个user/schema内,您可以改为查询USER_DEPENDENCIES。不要理会 ALL_DEPENDENCIES 视图,因为如果另一个用户创建了引用受害者 table 的对象,您可能无权查看该对象。