【发布时间】:2016-09-25 09:06:50
【问题描述】:
我的数据库中有 2 个架构。其中一个模式有一个包,该包正在使用另一个模式的表。来自另一个模式的表,在一段时间后经常使用相同的名称删除和创建。
因此,当表同时删除时,来自另一个模式的包将由于该表而无效。
是否有任何方法可以提供授予访问权限,使其在表删除后保持原样,或者有任何方法可以自动重新编译该包。请帮我解决这个问题。
提前致谢。
【问题讨论】:
-
该表是通过脚本还是手动删除和创建的?您可以在表创建脚本中添加授权命令。
-
通过脚本删除和创建表。
-
假设删除并重新创建表确实有意义(一开始看起来很可疑),为什么脚本不包括恢复授权? Oracle 会在下次执行时自动重新编译包,但您也可以在脚本中执行此操作。
-
能否提供一个脚本示例,它将自动编译包。