plpgsql return select from multiple tables
От | Artis Caune |
---|---|
Тема | plpgsql return select from multiple tables |
Дата | |
Msg-id | 9e20d71e0809100720p6aa7d6d1p8e95043fad6c8713@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: plpgsql return select from multiple tables
Re: plpgsql return select from multiple tables |
Список | pgsql-general |
Hi, What is the correct way of writing plpgsql function which needs return columns from multiple tables? e.x.: SELECT email FROM emails WHERE id = 1 SELECT backend FROM backends WHERE id = 1 I need plpgsql function return both email and backend in one line, like: SELECT email, backend FROM ... I do like this: CREATE OR REPLACE FUNCTION get_user_data( INT ) RETURNS SETOF RECORD AS $$ DECLARE v_email RECORD; v_backend RECORD; BEGIN SELECT email INTO v_email FROM emails WHERE id = $1; SELECT backend INTO v_backend FROM backends WHERE id = $1; RETURN QUERY SELECT v_email AS email, v_backend AS backend; END; $$ LANGUAGE 'plpgsql' SECURITY DEFINER; and then doing selects: SELECT * FROM get_user_data('${id}') AS (email VARCHAR, backend VARCHAR) Is it okay, there will be a lot of those queries? -- regards, Artis Caune <----. CCNA <----|==================== <----' didii FreeBSD
В списке pgsql-general по дате отправления: