Par*_*iya 6 postgresql select triggers
这是我的 3 张桌子。
Booking(Bookingid,date_of_booking,groupid,packageid,price)
Passenger(passengerid,groupid)
package(packageid,type)
Run Code Online (Sandbox Code Playgroud)
这是一个将在执行触发器时调用的函数。
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();
Run Code Online (Sandbox Code Playgroud)
问题是触发器已成功执行,但是当我尝试使用这样的 INSERT 查询将记录插入预订表时,它不会插入记录。
INSERT INTO BOOKING VALUES(NEXTVAL('BOOKSQ'),'26-SEP-2018',1201,700,NULL);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |