Dynamic cursors support samples
Skočit na navigaci
Skočit na vyhledávání
CREATE OR REPLACE FUNCTION fx(a int) RETURNS int AS $$ BEGIN DECLARE x, y integer; DECLARE SQLSTATE char(5); DECLARE cx CURSOR FOR prepstmt; PREPARE prepstmt(int) FROM 'SELECT a*100, b*100 FROM Foo WHERE Foo.a = $1'; OPEN cx USING a; FETCH cx INTO x, y; WHILE SQLSTATE = '00000' DO PRINT x, y; FETCH cx INTO x, y; END WHILE; CLOSE cx; RETURN a; END; $$ LANGUAGE plpgpsm;