--创建存储过程(1)
create or replace procedure myproce1
(mynum in int)
as
beginselect num,name  from mytestemployee where num=to_char(mynum,'099999');end;--存储过程的执行(2)
declare 
mynum int:=1;
begin
myproce1(mynum);
end;为什么单独执行2,会报错啊,还有(1)(2)联合起来,什么也不显示啊!!!!!!急急急急急急急急急急

解决方案 »

  1.   

    存储过程种select 必须带into。或者使用游标。
      

  2.   


    create or replace procedure myproce1(mynum in int)
    as
    v_num varchar2(10);
    v_name varchar2(10);
    beginselect num,name into v_num,v_name from mytestemployee where num=lpad(mynum,6,'0') and rownum=1;end;
      

  3.   

    create or replace procedure myproce1
    (mynum in int)
    AS
      v_num mytestemployee.num%type;
      v_name mytestemployee.NAME%type;
    begin
      select num,NAME INTO v_num,v_name from mytestemployee where num=to_char(mynum,'099999');
      Dbms_Output.put_line('num='||v_num||'   name='||v_name);
    exception when others then
      Dbms_Output.put_line('no data find!');
    end;
    /SET serveroutput ON declare  
      mynum int:=1;
    begin
      myproce1(mynum);
    end;
      

  4.   

    除了楼上指出的问题,你也没让程序显示什么啊set serveroutput on;
    /
    begin
      dbms_output.put_line('test!');
    end;