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$
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;
RETURN QUERY SELECT w.word, max(w.score) as score FROM _words w GROUP BY w.word;END$func$ LANGUAGE plpgsql;
pgsql-general by date:
Соглашаюсь с условиями обработки персональных данных