множественной выборкой?
CREATE OR REPLACE FUNCTION channels.select_channels (sourse_client BIGINT, ttoken TEXT)
RETURNS SETOF BIGINT AS $$
BEGIN
IF public.validate_ttoken(sourse_client, ttoken, ARRAY ['LOAD', 'CHANNELS'])
THEN
RETURN QUERY SELECT COALESCE ((
SELECT DISTINCT channel
FROM channels.users
WHERE
client = sourse_client AND
leaved IS NULL
), 0);
ELSE
RETURN;
END IF;
END
$$ LANGUAGE plpgsql;
Сейчас я получаю ошибку возвращения больше, чем одного столбца.
Вообще не понятно что вы таким запросом хотите сделать
Я выбираю все каналы в который есть пользователь, если его нет в никаких - возвращаю 0, если тайм-токен неверный - NULL.
Поменяйте смысл возврата null и 0 и будет у вас счастье )
То есть 0 если ТТ неверный, и просто ретурнуть что есть, когда верный?
Это выглядит проще раз уж вы решили так делать
Обсуждают сегодня