Re: how to returns set of records in PL/python
От | Gerardo Herzig |
---|---|
Тема | Re: how to returns set of records in PL/python |
Дата | |
Msg-id | 47FA1BAA.9090401@fmed.uba.ar обсуждение исходный текст |
Ответ на | how to returns set of records in PL/python ("Anoop G" <anoopmadavoor@gmail.com>) |
Список | pgsql-sql |
Anoop G wrote: >Hi , > > Iam new to plpython,how can I return a recordset from a plpython >function? > > Is there is any way give me an example; > > >plpgsql function >-------------------------------- > >CREATE OR REPLACE FUNCTION function_to_get_all_countries() RETURNS SETOF >RECORD AS $BODY$ >DECLARE > > r RECORD; > >BEGIN > > FOR r IN SELECT pk_bint_country_id,vchr_country FROM tbl_country LOOP > RETURN NEXT r; > END LOOP; > RETURN; > >END >$BODY$ LANGUAGE 'plpgsql'; > > > > >How i can get the same result using plpythonu and how I can call the >function (is there any user defined type required like in plpgsql)? > >Thanks in advance > >Anoop > > > Yes, plpython can return setofs. You may need to define a new type for that. After that you can return a list, tuple, dictionary, set, generator object, or any You may also check the plpython version, as i recall, its kind of *new* issue. This works on 8.2.5, python 2.5, For a simple case, something like that would work regression=# \d countries Table "public.countries" Column | Type | Modifiers --------------+-------------------+-----------country_id | integer |country_name | character varying | CREATE OR REPLACE FUNCTION get_countries() returns setof countries security definer as $$ return plpy.execute("select * from countries") $$ language plpythonu; Hope that helps. Gerardo
В списке pgsql-sql по дате отправления: