为什么我创建的存储过程,存储函数都是无效的?

Croatia 2002-08-21 11:15:03
我从其他的地方,倒出数据,倒入自己的机器,
但是发现,原来的一些存储过程,存储函数都没有用了!
都是无效状态!
自己用SYSTEM和其他用户创建的存储过程,存储函数也都是无效的,
这是什么原因呐?

请赐教!
...全文
133 点赞 收藏 14
写回复
14 条回复
zhaoyongzhu 2002年08月21日
我刚试过在DBA Studio中编译,确实没有反应,不知道什么原因。
如果你的存储过程不多的话,把他copy出来,在sqlplus中编译。
具体操作:
在DBA STUDIO中的存储过程上点右键然后点击“show object dll”,然后把代码拷贝出来,在sqlplus中粘贴,然后敲一个“/”符号,就编译了。
回复 点赞
Croatia 2002年08月21日
编译后,什么信息也没有!
我使用了DBA STUTIO里面的那个存储过程下面的编译按钮,
但是,点击后,没有反应!
我使用IMP倒入的!

你们用什么编译?

我是第一次写这个!请赐教!
回复 点赞
fengyuxi 2002年08月21日
是倒入顺序的问题!

比如,你先倒入存储过程A
但里面用到的表a这是还没有倒入,
A编译出错!
然后你倒入了表a,
A无用状态,但是可以重新编译,无错误!
回复 点赞
zhaoyongzhu 2002年08月21日
你编译后,显示什么信息?
回复 点赞
Croatia 2002年08月21日
我编译了!
但是没有任何错误呀!
不知道怎么回事!
回复 点赞
zhaoyongzhu 2002年08月21日
把倒进来的函数和存储过程从新编译一便,如果在编译过程中有错误。当然就是无效的了!!
回复 点赞
chi_ke 2002年08月21日
up
回复 点赞
Croatia 2002年08月21日
谢谢大家!可以了!
但是alter procedure name recompile;
不行!
alter procedure name compile;
可以.
回复 点赞
ballball 2002年08月21日
up
回复 点赞
Croatia 2002年08月21日
谢谢大家!
我先试一试!
回复 点赞
developer2002 2002年08月21日
用alter procedure只能重新编译一个过程。
建议用dbms_utility.compile_schema(schema varchar2);这个过程。编译这个schema下的所有过程,函数,trigger
回复 点赞
wujinbao 2002年08月21日
在sqlplus中执行show errors procedure xxx
可显示过程的错误信息。
在sqlplus中执行show errors function xxx
可显示函数的错误信息。你试试。
回复 点赞
zhaoyongzhu 2002年08月21日
alter procedure name compile;可以
回复 点赞
mycode 2002年08月21日
在SQL*PLUS下,直接重新编译:
alter procedure name recompile;
回复 点赞
发动态
发帖子
基础和管理
创建于2007-09-28

7175

社区成员

9.5w+

社区内容

Oracle 基础和管理
社区公告
暂无公告