我有一个表,我们可以称之为甲板。 Decks有一个id用作主键和其他一些属性。卡表包含对卡座ID的外键引用,并且还具有cardid的主键。另外一个表格称为答案,其外键是cardid。创建触发器删除记录
因此,为了从甲板到删除,数据库需要我的答案,从甲板上删除,然后再卡,然后最后。
我想创建一个触发器,它负责将第一和第二删除,这样我只有从甲板表指定一个delete语句彻底摧毁的甲板。
下面是一个例子PostgreSQL触发我发现,但我不知道,如果它甚至有可能做我问,因为我可以在网上找到任何人创建触发器这样的没有例子。
CREATE OR REPLACE FUNCTION autoCalculate() RETURNS TRIGGER AS $$
BEGIN
IF NEW.wins < 0 THEN
RAISE EXCEPTION 'Wins cannot be negative';
END IF;
IF(OLD.wins <> NEW.wins_ OR (OLD.losses <> NEW.losses) THEN
NEW.Winning_Percentage := calc_winning_percentage(NEW.Wins, NEW.Losses);
END IF
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
DROP TRIGGER update_winning_percentage ON standings;
CREATE TRIGGER update_winning_percentage BEFORE INSERT OR UPDATE ON standings
FOR EACH ROW EXECUTE PROCEDURE autoCalculate();
如果任何人有知识,要做到这一点,如果他们能轻推我朝着正确的方向或提供如何做到这一点的例子,我会很感激!