1
我有一個函數返回記錄列表,然後我循環遍歷列表並管道他們,但是在管道系統中我得到ORA-01403: no data found
錯誤。沒有找到數據當管道行
以下是我正在使用的代碼,並且我在某些行上獲取了此錯誤,而不是所有這些錯誤。
注意:tab_pipe.t_tab
和tab.t_tab
是同一記錄tab.r_tab
的表格。
Function pipelinedFunction(ref varchar2, seq varchar2) Return tab_pipe.t_tab pipelined Is
pragma autonomous_transaction;
errtxt varchar2(400);
tab tab.t_tab;
begin
tab := generate_table(ref, seq);
for i in 1 .. tab.count loop
begin
pipe row(tab(i));
EXCEPTION
when others then
v_errtxt := sqlerrm;
insert into test_kc values('an error occurred piping the row i = ' || i || ' - sqlerrm = ' || v_errtxt); commit;
end;
end loop;
return;
end pipelinedFunction;
我沒有logner得到這個問題,所有的記錄都回來了,但你是什麼意思'也許有在標籤爲我的每一個值的條目。 ',你的意思是某個索引中的記錄的所有列值都爲空嗎? –
您從1循環到tab.count。也許選項卡(3)不存在?如果不知道generate_table的作用,就不能說這些。 – Rene
但在使用'1 .. tab.count'之前,我使用了'tab.first .. tab.last',並且仍然遇到同樣的問題。 請問生成導致此問題的記錄表的函數是否有某些內容? –