oracle中,一个存储过程怎么调用另一个存储过程?这两个存储过程都带有各自的参数。直接调用似乎不行。

 我来答
hongyaofu
2017-05-21 · TA获得超过1088个赞
知道大有可为答主
回答量:1227
采纳率:87%
帮助的人:516万
展开全部

函数是有返回值的,可以当作数据库的域来操作;而存储过程是没有返回值的,不可以当作域来操作的,随你怎么调用都是可以的;但是有一条规则是要注意的,同时更新锁定同一记录的函数/存储过程是不可以的。

看看我下面几个示例:

  1. 直接调用:


BEGIN 
  P_TJZF(a,b,c);//这是一个存储过程
  COMMIT; 
END; 
--或
select P_TJZF(a,b,c) from dual;--这是函数的执行方法,存储过程也可以这样干,只是没有返回值。
  1. 过程调用:

CREATE OR REPLACE procedure P_jgdy is
kk number(3) default 1;
kk2 number(2) default 1;
begin

   for kk in 1..2 loop
     kk2 := kk2 + 1;
     P_TJZF(kk,kk2,1);//这是一个存储过程
   end loop;
 
end P_jgdy;
/
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式