存储过程依赖问题请教!

[复制链接]
查看11 | 回复3 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
oracle的存储过程依赖所使用的对象,即使用的表或视图等发生改变时存储过程会变为无效。这样使用之前必须手工再编译一次。请问有没有一个设置使之不用手工编译。像sql server就是可以被调用时会自动编译。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
可以写一个job定时编译无效过程
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 zyf_wgh 发布
[B]oracle的存储过程依赖所使用的对象,即使用的表或视图等发生改变时存储过程会变为无效。这样使用之前必须手工再编译一次。请问有没有一个设置使之不用手工编译。像sql server就是可以被调用时会自动编译。 [/B]


你的数据库中的这些数据对象会经常变化么?
如果只是因为不知哪些更改了对象(表或视图)后,有哪些SP要重编译,则可查dba_dependencies字典.或者找dba_objects中status不为VALID的procedure就行了.



回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
我知道怎么查看无效的存储过程。我只是疑惑oracle为什么要手工重新编译。sql server就不用,他可以在被调用时自动编译。informix好像也不用。所以我疑惑,是否有可以设置成调用时发现对象无效时就自动编译的参数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行