Здесь я снова перейду к некоторому 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.