select .... into...
这样才好。

解决方案 »

  1.   

    select * into ..... from jz_ffyjkbak ....
      

  2.   

    CREATE  or replace procedure jz_getyj
    (v_pc   in varchar2,
     v_date in date,
     v_dateq in date,
     v_jdjm in varchar2) 
    is
    jz jz_ffyjkbak%rowtype;//定义变量
    begin
     if v_pc='1' then
       select * into jz from jz_ffyjkbak 
         where (jz_date = v_date or (jz_date = v_dateq and jz_time like '2%')) and (pc_hao='1')
         and (jz_jdjm=(select name_c from jz_jzjm where  name_e = v_jdjm));   
     else  
        select * into jz from jz_ffyjkbak 
          where (jz_date = v_date)  and (pc_hao = v_pc and jz_jdjm=(select name_c from jz_jzjm where  name_e = v_jdjm));             
     end if;
    end;
    /
      

  3.   

    在存储过程中select 要把结果into到变量中
      

  4.   

    谢谢以上各位!因为我是要查询返回多条纪录所以用到游标:
    CREATE  or replace procedure jz_getyj
    (v_pc   in varchar2,
     v_date in date,
     v_dateq in date,
     v_jdjm in varchar2)
    cursor getyj is
     select jz_yjhm,jz_zbhm,jz_yjyjjm from jz_ffyjkbak  
         where (jz_date = v_date or (jz_date = v_dateq and jz_time like '2%')) and (pc_hao='1')
         and (jz_jdjm=(select name_c from jz_jzjm where  name_e = v_jdjm)); 
    cursor getyj1 is
      select jz_yjhm,jz_zbhm,jz_yjyjjm from jz_ffyjkbak 
       where (jz_date = v_date)  and (pc_hao = v_pc and jz_jdjm=(select name_c   from    jz_jzjm where  name_e = v_jdjm));               
    is
    yjhm varchar2;
    zbhm varchar2;
    yjyjjm varchar2;
    begin
     if v_pc='1' then
     open getyj; 
     loop
     fetch getyj into yjhm,zbhm,yjyjjm;
     dbms_output.put_line(yjhm,zbhm,yjyjjm);
     end loop;
     close geryj;
     end if;
     if v_pc<>'1' then
     open getyj1; 
     loop
     fetch getyj into yjhm,zbhm,yjyjjm;
     dbms_output.put_line(yjhm,zbhm,yjyjjm);
     end loop;
     close getyj1;
     end if;
      
    end;
    ERROR 位于第1行:
    ORA-06550: 第 1 行, 第 25 列:
    PLS-00357: 在此上下文中不允许表,视图或序列引用 'CLASSES'
    ORA-06550: 第 1 行, 第 25 列:
    PL/SQL: Statement ignored