PostgreSQL に 2 つのテーブルがあります:行( idlines,iditems,quantity ) と項目( iditems,stock )。iditemsは、行の外部キーです。linesに新しい行が挿入されたときに、 itemsテーブルからstockフィールドを更新するトリガーが必要です。stockを stock=stock-quantity に置き換える必要があります。
私はPostgreSQLの経験はあまりありませんが、これが私がやったことです。残念ながら機能していません。
DROP FUNCTION function() CASCADE ;
CREATE OR REPLACE FUNCTION function()
RETURNS TRIGGER AS $trigger$
BEGIN
UPDATE items SET
stock=COALESCE(stock,0)-lines.quantity
WHERE lines.iditems=items.iditems;
END;
CREATE TRIGGER trigger
AFTER INSERT ON lines
FOR EACH ROW
EXECUTE PROCEDURE function();