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

PostgreSQL creating a trigger that decrements a certain value

以下是我在 PostgreSQL 中创建的一些 table:

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 table 中插入一行时,它都会将 Card table 中一行的 monthly_deduction 值减 2。我试图在网上找到有关触发器的解决方案,但其中 none 解释了如何更改特定列的值。请尽快回复我。感谢您的关注。

您所要做的就是运行触发器中的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;