--同天、同机构、同类型 扣分 只扣一条
create or replace function get_lzkh_kfjfxq(sqls in varchar2,kfrq in varchar2)
RETURN varchar2 IS
Result varchar2(4000);--返回值
idstr varchar2(80);--接受游标遍历的id值的变量
--创建游标(只包含id的游标)
cursor cur_lzkh is
select id
from lzkh_kfjfxq
where kfjfrq||jgm||kfjfms= sqls and kfjfrq=kfrq;--参数sqls 是 kfjfrq||jgm||kfjfms
begin
Result :='';
open cur_lzkh;
--idstr赋值
fetch cur_lzkh into idstr;
--遍历游标
WHILE cur_lzkh%FOUND LOOP
--拼接id
Result := Result || idstr || ',';
end loop;
--去掉最后一个逗号(,)
Result :=substr(Result,1,LENGTH(Result)-1);
close cur_lzkh;
RETURN (Result);
end get_lzkh_kfjfxq;
------解决方案--------------------
将循环处更改一下:
LOOP
fetch cur_lzkh into idstr;
EXIT WHEN cur_lzkh%NOTFOUND;
Result := Result ------解决方案-------------------- idstr ------解决方案-------------------- ',';
END LOOP; ------解决方案-------------------- 你这很多错了,改良下
create or replace function get_lzkh_kfjfxq(sqls in varchar2,
kfrq in varchar2)
RETURN varchar2 is