【发布时间】:2020-01-29 01:45:59
【问题描述】:
我是 oracle 新手,我正在学习游标。我的表 City 有两列 city_id,city_name。所以,这就是我尝试过的:
DECLARE
CURSOR city_list is
SELECT * from OT.City;
v_list SYS_REFCURSOR;
BEGIN
OPEN city_list FOR
v_list := city_list;
DBMS_OUTPUT.PUT_LINE(v_list.city_id);
EXIT WHEN city_list%NOTFOUND;
CLOSE city_list;
END;
/
我正在尝试将游标的数据分配给新声明的值v_list SYS_REFCURSOR;。但输出在v_list := city_list; 处出现错误。如何将游标的所有值直接分配给另一个游标或是否存在还有其他方法吗?
【问题讨论】:
-
附带说明:使用隐式游标要容易得多,例如:
for rec in (select * from ot.city) loop dbms_output.put_line(rec.city_id); end loop;。
标签: sql oracle stored-procedures plsql oracle11g