查询丢失数据

progsky progsky 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在视图里调用了函数,如果用sql语句在pl/sql中执行,RECEIPTEXESMEMO列全部都有值,没有问题;但是通过程序查询时,RECEIPTEXESMEMO列在第五行以后的数据丢失了,全部为null值。

视图:
CREATE OR REPLACE VIEW V_FEE_RECEIPT AS
SELECT RECEIPT.RECEIPTINDEXID,
RECEIPT.RECEIPTCUSTOMERID,
FEs.f_Getreceiptbookingid(RECEIPT.RECEIPTINDEXID) AS RECEIPTEXESMEMO
FROM FES.T_FEE_RECEIPT RECEIPT
LEFT JOIN FES.T_FEE_INVOICE INVOICE ON
INVOICE.INVOICEINDEXID = RECEIPT.INVOICEINDEXID
函数:
create or replace function F_GETRECEIPTBOOKINGID( receiptindexid in varchar2 )
return varchar2
is
str_list varchar2(4000) default null;
str varchar2(20) default null;
begin
for x in ( SELECT ER.Bookingno
FROM FES.T_FEE_EXESRECEIPT ER
WHERE ER.RECEIPTID = receiptindexid ) loop
if not x.bookingno is null then
if INSTR(str_list, x.bookingno, 1, 1)='0' or INSTR(str_list, x.bookingno, 1, 1) is null then
str_list := str_list || str || to_char(x.bookingno);
str := ', ';
end if;
end if;
end loop;
return str_list;
end;

...全文
评论 23
收藏 已收藏
分享
返回顶部
progsky
Oracle 高级技术 3,499 成员 18,710 内容