Re: How to return ARRAY from SQL function?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: How to return ARRAY from SQL function?
Дата
Msg-id 27773.1560518732@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: How to return ARRAY from SQL function?  (Laurenz Albe <laurenz.albe@cybertec.at>)
Ответы Re: How to return ARRAY from SQL function?  (Alexander Farber <alexander.farber@gmail.com>)
Список pgsql-general
Laurenz Albe <laurenz.albe@cybertec.at> writes:
> Alexander Farber wrote:
>> But creating an SQL function fails -
>> 
>> words_ru=> CREATE OR REPLACE FUNCTION words_all_letters()
>> words_ru->         RETURNS array AS
>> words_ru-> $func$
>> words_ru$>         SELECT ARRAY[...

> "array" is not an existing data type.

> You'll have to specify an array of which type you want, probably
>  ... RETURNS text[]

Right.  Also, I don't recall the exact rules in this area, but I think
that SQL functions are pickier about their return types than ordinary
query contexts, meaning you might also need an explicit cast:

       SELECT ARRAY[
                    '*', '*', 'А', 'А', 'А', 'А', 'А', 'А', 'А', 'А',
                    ...
                   ]::text[];

Try it without first, but if it moans about the query returning the
wrong type, that's how to fix it.

            regards, tom lane



В списке pgsql-general по дате отправления:

Предыдущее
От: Laurenz Albe
Дата:
Сообщение: Re: How to return ARRAY from SQL function?
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: How to connect to toad Edge with postgresql running with dockercontainer?