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

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

请赐教!
...全文
826 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧