Почему этот триггер не вставляет записи в мою таблицу в postgres? - PullRequest
0 голосов
/ 25 сентября 2018

Вот мои 3 таблицы.

Booking(Bookingid,date_of_booking,groupid,packageid,price)
Passenger(passengerid,groupid)
package(packageid,type)

Вот функция, которая будет вызываться при запуске триггера.

CREATE OR REPLACE FUNCTION COUNTPRICEFORTICKET3()
RETURNS TRIGGER AS 
$$
DECLARE
MYID INTEGER;
MYPRICE DOUBLE PRECISION;
BEGIN
SELECT COUNT(*) AS CNT INTO MYID FROM PASSENGER WHERE GROUPID=NEW.GROUPID 
GROUP BY GROUPID;
SELECT PRICE INTO MYPRICE FROM PACKAGE WHERE PACKAGEID=NEW.PACKAGEID;
NEW.PRICE:=MYPRICE * MYID;
RETURN NULL;
END;
$$
LANGUAGE plpgsql;


CREATE TRIGGER COUNTPRICE3 BEFORE INSERT ON BOOKING
FOR EACH ROW EXECUTE PROCEDURE COUNTPRICEFORTICKET3();

Проблема в том, что триггер выполняется успешно, но когдаЯ пытаюсь вставить записи в таблицу бронирования, используя запрос INSERT следующим образом: запись не добавляется.

INSERT INTO BOOKING VALUES(NEXTVAL('BOOKSQ'),'26-SEP-2018',1201,700,NULL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...