Re: How to use dblink within pl/pgsql function:
От | Clive Page |
---|---|
Тема | Re: How to use dblink within pl/pgsql function: |
Дата | |
Msg-id | Pine.LNX.4.44L0.0311050957230.4102-100000@peneca.star.le.ac.uk обсуждение исходный текст |
Ответ на | Re: How to use dblink within pl/pgsql function: (Joe Conway <mail@joeconway.com>) |
Список | pgsql-general |
Thanks to Joe Conway for pointing out a couple of typos in what I posted (the original code that I used didn't have quite as many, I edited it to try to simplify). He also pointed out that I had not initialised my 'count' variable, which was a genuine mistake. I am pleased to say that the corrected function does work as expected: CREATE OR REPLACE FUNCTION find() RETURNS INTEGER AS ' DECLARE count INTEGER := 0; myrec RECORD; BEGIN FOR myrec IN SELECT * FROM DBLINK(''hostaddr=127.0.0.1'', ''select ra, decl from twomass where errbox && box(point(120.45,0.5),point(120.50,0.75))'') as temp(x float8, y float8) LOOP count := count + 1; END LOOP; RETURN count; END; ' LANGUAGE 'plpgsql'; I can use it in a query such as: SELECT * FROM find(); And it returns the number of rows returned from the join using R-trees. Of course there are easier ways of doing what this function does, I just wanted to get that working as a basis on which to build something more advanced. -- Clive Page
В списке pgsql-general по дате отправления: