【发布时间】:2014-04-15 21:15:11
【问题描述】:
我正在尝试将游标用于连接多个表的查询。我已经看到对于 oracle 有一个基于游标的记录。当我为 Postgres 尝试相同的操作时,它会引发一些错误。我怎样才能在 Postgres 中做同样的事情?
CREATE OR REPLACE FUNCTION avoidable_states()
RETURNS SETOF varchar AS
$BODY$
DECLARE
xyz CURSOR FOR select * from address ad
join city ct on ad.city_id = ct.city_id;
xyz_row RECORD;
BEGIN
open xyz;
LOOP
fetch xyz into xyz_row;
exit when xyz_row = null;
if xyz_row.city like '%hi%' then
return next xyz_row.city;
end if;
END LOOP;
close xyz;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
我得到的错误是:
ERROR: relation "xyz" does not exist CONTEXT: compilation of PL/pgSQL function "avoidable_states" near line 4
【问题讨论】:
标签: postgresql loops plpgsql database-cursor