读书人

存储过程字段并列打印

发布时间: 2014-01-28 21:22:42 作者: rapoo

create or replace procedure P_Test is
v_col1 number;
r_emp SO_CHARGE@db_dqyy%rowtype;
v_newid varchar2(10);
v_charge_id varchar2(10);
cursor cur is
select * from SO_CHARGE@db_dqyy;
begin

open cur;
loop
fetch cur
into r_emp;

exit when cur%notfound;

if length(r_emp.so_charge_type_id) = 5 then
begin
select b.newid

into v_newid
from query_charge_to_boss b
where b.so_charge_type_id = r_emp.so_charge_type_id;
end;
end if;

if length(r_emp.so_charge_type_id) = 3 then
begin
select c.charge_id
into v_charge_id
from so_charge_cat_id_to_boss c
where c.charge_id = r_emp.so_charge_type_id;
end;
end if;
dbms_output.put_line(v_newid||'---'||v_charge_id);
end loop;

end P_Test;


两个if体中查询的 charge_id 与 newid 我想让它们在一排打印出来。
可惜的是 两个查询结果都大于1行,运行就会在 select b.newid 这里报错。可能就是因为返回结果太多造成的。

请问怎么解决。。。最后结果能让存储过程字段并列打印

r>------解决方法--------------------------------------------------------
两个查询结果都大于1行,运行就会在 select b.newid 这里报错
你想取一条结果呢,还是所有的都要?
如果是所有的都要,用游标,多条的两个结果如何打印

        

读书人网 >oracle

热点推荐