PostgreSQL创建一个减少特定值的触发器

时间:2018-05-24 17:13:35

标签: postgresql database-trigger

以下是我创建的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.我试图找到一个关于触发器的在线解决方案,但没有一个解释了如何更改某列的值。请尽快回答我。谢谢你的关注。

1 个答案:

答案 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;