Обсуждение: Function returns mutliple rows - HELP

Поиск
Список
Период
Сортировка

Function returns mutliple rows - HELP

От
juleni
Дата:
  How can I make function returning multiple tuples?

  For example:
  ============
  I have a table COMPANY: id_company | company_name |  country
                           -------------------------------------
                                1    |  Company 1   |  Germany
                                2    |  Company 2   |  Germany
                                3    |  Company 3   |  Slovakia
                                4    |  Company 4   |  Slovakia
                                5    |  Company 5   |  Slovakia
                                6    |  Company 6   |  Italy

  I need a function returning all 'company IDs' and 'company names'
  from 'Slovakia'.
  The parameter to the function is 'country'.

  Can anybody give me a simple example how to do it using pl/pgsql by
function returning more tuples?

  Thanks in advance,
  julian


mailto:juleni@seznam.cz


Re: Function returns mutliple rows - HELP

От
Stephan Szabo
Дата:
On Mon, 27 Jan 2003, juleni wrote:

>   How can I make function returning multiple tuples?
>
>   For example:
>   ============
>   I have a table COMPANY: id_company | company_name |  country
>                            -------------------------------------
>                                 1    |  Company 1   |  Germany
>                                 2    |  Company 2   |  Germany
>                                 3    |  Company 3   |  Slovakia
>                                 4    |  Company 4   |  Slovakia
>                                 5    |  Company 5   |  Slovakia
>                                 6    |  Company 6   |  Italy
>
>   I need a function returning all 'company IDs' and 'company names'
>   from 'Slovakia'.
>   The parameter to the function is 'country'.
>
>   Can anybody give me a simple example how to do it using pl/pgsql by
> function returning more tuples?

The set returning functions document on techdocs might help:
http://techdocs.postgresql.org/guides/SetReturningFunctions

For something that simple, I'd probably say that you could get away with a
simple sql function, though, probably something like:
create function getcompaniesbycountry(text) returns company as
'select * from company where country = $1;' language 'sql';