Please let me know what’s wrong with below code CREATE LANGUAGE plpgsql; create or replace FUNCTION test_cu( p_cursor REFCURSOR)
returns REFCURSOR AS $procedure$ BEGIN open p_cursor FOR select * from test; RETURN p_cursor; END; $procedure$ LANGUAGE plpgsql; create or replace FUNCTION test_call() RETURNS VOID AS $procedure$ DECLARE c_cursor REFCURSOR; r_emp test%rowtype; BEGIN PERFORM test_cu(c_cursor); loop fetch c_cursor into r_emp; exit when NOT FOUND; RAISE NOTICE '%',r_emp.aaa; end loop; close c_cursor; RETURN; END; $procedure$ LANGUAGE plpgsql; SELECT test_call(); When I execute above code I got below error ERROR: cursor variable "c_cursor" is null CONTEXT: PL/pgSQL function "test_call" line 7 at
FETCH ********** Error ********** ERROR: cursor variable "c_cursor" is null SQL state: 22004 Context: PL/pgSQL function "test_call" line 7 at
FETCH Thanks, |