Я хочу, чтобы выполнить запрос SQL, если условие выполняется, но я получаю следующее сообщение об ошибке:PostgreSQL функция выполнение запроса
ОШИБКИ: отдельный $ цепь незавершенная или вблизи «$ Func $
мой SQL-запрос:
CREATE OR REPLACE FUNCTION myfunc()
RETURNS TABLE(dateticket date, timeticket time, userid integer, my_all bigint) AS
$func$
BEGIN
IF (SELECT COUNT(DISTINCT(dateticket)) from tickets) = 1 THEN
RETURN QUERY EXECUTE 'select t.*
from (select distinct on (userid) dateticket, timeticket, userid,
count(*) over (partition by userid) as my_all
from tickets t
order by userid, dateticket, timeticket) t
order by my_all, dateticket, timeticket';
ELSE
RETURN QUERY EXECUTE 'select t.*
from (select distinct on (userid) dateticket, timeticket, userid,
count(*) over (partition by userid) as my_all
from tickets t
order by userid, dateticket, timeticket) t
order by my_all DESC, dateticket DESC, timeticket DESC';
END IF;
END;
$$ LANGUAGE plpgsql;
Вы начинаете функцию с $ func $, но пытаетесь ее закончить с помощью $$. Они должны соответствовать –