"查询"是字符串变量,我通过执行以下来附加结果。
FOR x IN
(SELECT Years FROM School_Years)
LOOP
query := query || x.Year || ',' ;
END LOOP;
我的问题:我已经有了存储过程(GetSchoolYears)" SELECT Years FROM School_Years"。
而不是" SELECT Years FROM School_Years",如何使用存储过程名称?像......一样......
FOR x IN
(GetSchoolYears)
LOOP
query := query || x.Year || ',' ;
END LOOP;
或在IN(---)
中使用该存储过程的结果的任何其他想法--------存储过程------------
create or replace
PROCEDURE GetSchoolYears
(
p_cursor IN OUT SYS_REFCURSOR
) AS
BEGIN
OPEN p_cursor FOR
SELECT Years FROM School_Years;
END GetSchoolYears;
答案 0 :(得分:0)
我不知道这是否符合您的期望,但这是如何在PL / SQL中使用引用游标。
declare
rc sys_refcursor;
l_rec School_Years.years%type;
query varchar2(2000);
begin
GetSchoolYears(rc);
loop
fetch rc into l_rec;
exit when rc%notfound;
query := query || l_rec || ',' ;
end loop;
dbms_output.put_line(query);
end;
/