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 这里报错
你想取一条结果呢,还是所有的都要?
如果是所有的都要,用游标,多条的两个结果如何打印