Вот чего я бы хотел достичь:
CREATE FUNCTION f() RETURNS trigger AS $$
BEGIN
SELECT COUNT(*) AS total_num, SUM(width) AS total_width
FROM some_table WHERE foo = NEW.foo;
IF total_num > 0 AND total_width > 100
THEN
RAISE EXCEPTION 'this is bad';
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
Но это еще не синтаксически правильно.
Я прочитал, что сначала мне нужно DECLARE
переменных (в данном случае total_num
и total_width
), чтобы я мог использовать их и использовать SELECT INTO
, но я видел примеры с одной переменной / SELECT
только заявление. Что если у меня их будет больше?