在 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 的过程、触发器、索引时会发生什么?

请帮帮我。

table 上的索引和触发器将被删除(授权也一样)

同义词和观点将失效

在过程、包、函数和触发器中对 table 的硬编码引用将使它们无效。通过动态引用 SQL 不会导致失效,但在执行时会失败。

查询 DBA_DEPENDENCIES 视图以查看哪些对象具有依赖关系并将失效。可能会产生影响(删除 table 会使过程无效,调用该过程的包将无效,即使它没有直接引用 table)。

如果所有用法都在同一个user/schema内,您可以改为查询USER_DEPENDENCIES。不要理会 ALL_DEPENDENCIES 视图,因为如果另一个用户创建了引用受害者 table 的对象,您可能无权查看该对象。