微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Oracle 19c 数据库中,当我们删除一个表时,使用该表的过程、触发器、索引会发生什么变化?

如何解决在 Oracle 19c 数据库中,当我们删除一个表时,使用该表的过程、触发器、索引会发生什么变化?

在 Oracle 19c 数据库中,当我们删除一个表时,使用该表的过程、触发器、索引会发生什么变化?

  • 触发器、过程、索引是否会自动删除或 会变成无效状态吗?

  • 我想知道什么是正确的流程 当你知道你已经有了时,在放下桌子的时候跟着 与该特定关联的触发器、程序、索引 表?

请帮帮我。

解决方法

表上的索引和触发器将被删除(如授权)

同义词和观点将失效

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

查询 DBA_DEPENDENCIES 视图以查看哪些对象具有依赖性并且将失效。可能会产生连锁反应(删除表会使过程无效,而调用该过程的包也会失效,即使它不直接引用该表)。

如果所有用法都在同一个用户/模式中,您可以改为查询 USER_DEPENDENCIES。不要理会 ALL_DEPENDENCIES 视图,因为如果另一个用户创建了引用受害者表的对象,您可能无论如何都没有权限查看该对象。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。