есть таблица ЗАКАЗЫ
CREATE TABLE ORDERS (
id SERIAL NOT NULL
, price INT
, discount INT
, id_customer INT
, order_date DATE
, is_pay BOOLEAN
, delivery_date DATE
, PRIMARY KEY (id)
);
И есть триггер на добавление и обновление в эту таблицу.
CREATE TRIGGER trigger2
AFTER INSERT OR UPDATE
ON orders
FOR EACH ROW
EXECUTE PROCEDURE func1();
В триггерной функции ORDERS.price устанавливается в 300.
CREATE OR REPLACE FUNCTION func1()
RETURNS trigger AS
$BODY$BEGIN
NEW.price=300;
END;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION func1() OWNER TO postgres;
При попытке добавить или обновить строк в таблице ORDERS - ошибка.
В чем дело?
Вложение | Размер |
---|---|
ошибка.jpg | 13.37 kb |
Уже все) нужно было сделать
Уже все) нужно было сделать return NEW и все.