在项目中碰到这样一个问题有2个存储过程proc_a和proc_b
在proc_a中执行一个查寻语句得到一个id
而在proc_b中我需要执行一边proc_a,并用到proc_a得到的那个id继续完成proc_b
请问proc_a怎么样返回那个id的值proc_b怎么样调用proc_a
哪位大虾能写2个proc的例子给我看一下啊

解决方案 »

  1.   

    create or replace procedure  p_01(p_id out varchar2)
    is
    begin
    select 'aa' into p_id from dual;
    end p_01;create or replace procedure p_02
    is
    v_id varchar2(20);
    begin
    p_01(v_id);
    v_id:=v_id||'procedure_2';
    dbms_output.put_line(v_id);
    end p_02;
    ----
    家里没有环境测试
    不一定写得完全对阿
      

  2.   

    正如楼上所言,在过程的参数里加一个out参数(也称出参,in是入参),这个out参数就可以取得结果值并返回.这样,其它过程或函数就可以直接引用这个出参了.