以下是我创建的PostgreSQL中的一些表:
CREATE TABLE Card(card_id INT PRIMARY KEY, monthly_deduction DOUBLE);
CREATE TABLE Customer(costumer_ID INT PRIMARY KEY, card_number INT, amount DOUBLE, FOREIGN KEY (card_number) references Card(card_ID));
CREATE TABLE Ride(ride_ID INT PRIMARY KEY, rider_ID INT, FOREIGN KEY (rider_ID) REFERENCES Customer(costumer_ID))
我想创建一个触发器,每次在Ride表中插入一行时,它会将Card表中一行的monthly_deduction值减少2.我试图找到一个关于触发器的在线解决方案,但没有一个解释了如何更改某列的值。请尽快回答我。谢谢你的关注。
答案 0 :(得分:0)
您所要做的就是在触发器中运行UPDATE
语句:
UPDATE card
SET monthly_deduction = monthly_deduction - 2
FROM customer
WHERE customer.card_number = card.card_id
AND customer.customer_id = NEW.rider_id;