Re: RETURNS TABLE function: ERROR: column reference "word" is ambiguous
От | Adrian Klaver |
---|---|
Тема | Re: RETURNS TABLE function: ERROR: column reference "word" is ambiguous |
Дата | |
Msg-id | 4f469d2e-b763-fd39-b9c8-fe1e66637e44@aklaver.com обсуждение исходный текст |
Ответ на | Re: RETURNS TABLE function: ERROR: column reference "word" is ambiguous (Alexander Farber <alexander.farber@gmail.com>) |
Ответы |
Re: RETURNS TABLE function: ERROR: column reference "word"
is ambiguous
|
Список | pgsql-general |
On 08/10/2016 08:28 AM, Alexander Farber wrote: > There is still 1 open question - > > In my custom function: > > CREATE OR REPLACE FUNCTION words_check_words( > IN in_uid integer, > IN in_gid integer, > IN in_tiles jsonb) > RETURNS TABLE(word varchar, score integer) AS > $func$ > > > I iterate through tiles passed as last argument and store words built by > them at the game board into a temporary table: > > CREATE TEMPORARY TABLE _words (word varchar, score integer) > ON COMMIT DROP; > > FOR _tile IN SELECT * FROM JSONB_ARRAY_ELEMENTS(in_tiles) > LOOP > ..... > IF LENGTH(_word) > 1 /* AND EXISTS SELECT 1 FROM > words_nouns */ THEN > INSERT INTO _words(word, score) > VALUES (upper(_word), _score); > END IF; > END LOOP; > > > And at the end I perform SELECT from the temp table: > > RETURN QUERY > SELECT w.word, max(w.score) as score > FROM _words w > GROUP BY w.word; > END > $func$ LANGUAGE plpgsql; > > > The question is: if it is possible to get rid of the temp table and > instead add records to the implicit table being returned? See RETURN NEXT: https://www.postgresql.org/docs/9.6/static/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING 40.6.1.2. RETURN NEXT and RETURN QUERY > > Thank you > Alex -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: