在這裏,我與一些PLSQL再次去..PLSQL返回值
我想知道,如果有什麼辦法,我可以用這樣一個選擇以下功能,而不必把它變成一個函數或過程(所以我可以從包含它的腳本中看到代碼)。
的代碼將是這樣的:
DECLARE
outpt VARCHAR2(1000) := '';
flow_rI VARCHAR2(50);
CURSOR flow_r IS
select flow_run_id
from table
where CREATED_DATE < sysdate - 32
and rownum < 10
order by 1 desc;
BEGIN
OPEN flow_r;
LOOP
FETCH flow_r INTO flow_rI;
EXIT WHEN flow_r%notfound;
BEGIN
outpt := outpt || ',' || flow_rI;
EXCEPTION
WHEN no_data_found THEN
dbms_output.Put_line(outpt);
END;
END LOOP;
dbms_output.Put_line(outpt);
outpt := '';
CLOSE flow_r;
END;
的想法很簡單,我只是想從我的table
獲得一系列代碼,但具有結果格式化像"1234,2434,424,45,767,43"
類的事情,而不是表結果來自查詢。它將在後面的代碼中用於各種目的,包括其他查詢,我可以簡單地執行in ([variable with that string])
。
事情是使用dbms_output.Put_line(outpt);
,我無法從我的應用程序層訪問它,似乎在plsql中我不能使用return
而不將它變成函數。
有沒有人有想法?它不需要像這樣的PlSql,只要我可以在腳本中擁有整個代碼即可。
謝謝!
f。
ps .:是的,我知道我有一個剩餘的「,」在字符串的開頭-_- – filippo 2010-10-14 14:18:43