ORACLE存储过程中如何调用自己写的存储过程

willdavis 2011-07-20 09:39:06
在我写的ORACLE存储过程中,需要调用之前写好的存储过程。
请熟悉的朋友帮忙指点一下,怎么处理


CREATE OR REPLACE PROCEDURE traph_JOB IS
BEGIN

declare
TRAPHNAME VARCHAR2(200);
CURSOR c_route IS
SELECT label_cn from traph a where CHECK_FLAG =2;
BEGIN
OPEN c_route;
LOOP
FETCH c_route INTO TRAPHNAME;
EXIT WHEN c_route%NOTFOUND;
execute immediate TRAPH_ROUTE (TRAPHNAME);
-----------------------------------------------
此处显示如下错误
Compilation errors for PROCEDURE GDRES.TRAPH_JOB

Error: PLS-00222: no function with name 'TRAPH_ROUTE' exists in this scope
Line: 14
Text: execute immediate TRAPH_ROUTE (TRAPHNAME);

Error: PL/SQL: Statement ignored
Line: 14
Text: execute immediate TRAPH_ROUTE (TRAPHNAME);
------------------------------------------------

END LOOP;
CLOSE c_route;
END;
END;
...全文
295 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
horizonlyhw 2011-07-20
  • 打赏
  • 举报
回复
tangren 2011-07-20
  • 打赏
  • 举报
回复
自己动手百度一下,如果不能解决,再来提问题~~~
雪狼__ 2011-07-20
  • 打赏
  • 举报
回复
那就在JOB中调用PROCEDURE
willdavis 2011-07-20
  • 打赏
  • 举报
回复
还想问一下,我想把这个存储过程放在一个JOB中,定时执行。该怎么做?
willdavis 2011-07-20
  • 打赏
  • 举报
回复
收到,搞定,谢谢
horizonlyhw 2011-07-20
  • 打赏
  • 举报
回复
不用execute immediate
直接调用 写名字 参数 有返回值的用变量接收就行了~

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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