can you do a for loop on a function call in PL/PGSQL?
От | Eric Peters |
---|---|
Тема | can you do a for loop on a function call in PL/PGSQL? |
Дата | |
Msg-id | 00bb01c1b8af$8c6ce960$4500a8c0@er1c обсуждение исходный текст |
Список | pgsql-general |
Basically what I'm trying to do is: FOR zone_dns_r3 IN zone_dns_from_zone_dns_id(zone_dns_r.zone_dns_id, zone_dns_r2.zone_dns_id) LOOP RETURN (zone_dns_r3) AND RESUME; END LOOP; Where I want to loop the results from a stored procedure (I happen to be calling it recusively) NOTICE: plpgsql: ERROR during compile of get_zone_dns_from_zone_dns_id near line 29 ERROR: parse error at or near "get_zone_dns_from_zone_dns_id" Is basically what its having problems with "the zone_dns_from_zone_dns_id(" call Any ideas? My full stored procedure: CREATE FUNCTION get_zone_dns_from_zone_dns_id(INTEGER, INTEGER) RETURNS setof zone_dns AS ' DECLARE zone_dns_parent_id_param ALIAS FOR $1; zone_dns_id_param ALIAS FOR $2; zone_dns_r zone_dns%ROWTYPE; zone_dns_r2 zone_dns%ROWTYPE; zone_dns_r3 zone_dns%ROWTYPE; BEGIN FOR zone_dns_r IN select zone_dns.* from zone_dns where zone.zone_dns_id = zone_dns_id_param AND zone_dns.zone_dns_parent_id = zone_dns_parent_id_param LOOP FOR zone_dns_r2 IN select zone_dns.* from zone_dns where zone_dns.zone_dns_parent_id = zone_dns_r.zone_dns_id LOOP FOR zone_dns_r3 IN zone_dns_from_zone_dns_id(zone_dns_r.zone_dns_id, zone_dns_r2.zone_dns_id) LOOP RETURN (zone_dns_r3) AND RESUME; END LOOP; END LOOP; RETURN (zone_dns_r) AND RESUME; END LOOP; RETURN; END; ' LANGUAGE 'plpgsql';
В списке pgsql-general по дате отправления: