Ошибка синтаксиса (или нет) в PostgreSQL; SQL state: 42601

При попытке создать триггерную функцию выдает ошибку (прикрепил скрин). Я так полагаю, проблема именно в if где присутствует RAISE EXCEPTION, ибо когда полностью удалял блок кода с raise exception, все создается прекрасно. Подскажите, что не так с RAISE, и вообще с ним ли проблема? Почему-то пишет, что ошибка синтаксиса.Скрин ошибки

CREATE OR REPLACE FUNCTION count_days_IU() RETURNS TRIGGER AS $$
DECLARE
    first_date float8;
    second_date float8;
    result_in_seconds float8;
    result_ numeric;
BEGIN
    SELECT EXTRACT(epoch FROM date_time)
    INTO first_date
    FROM pretension
    WHERE id_1 = NEW.id_1_pretension;
    
    second_date = EXTRACT(epoch FROM NEW.date_time);
    result_in_seconds = second_date - first_date;
    
    IF result_in_seconds < 0 THEN
        RAISE EXCEPTION 'Invalid value of Date of Compensation. Check it out! You passed (%)', second_date USING HINT = 'Date of Compensation should be after Date of Pretension';
    
    result_ = round(CAST((result_in_seconds / 86400) as numeric), 2);
    NEW.compensation_period_in_days = result_;
    RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER count_days BEFORE INSERT OR UPDATE ON compensation
    FOR EACH ROW EXECUTE PROCEDURE count_days_IU();

Ответы (0 шт):