我有一個表,我們可以稱之爲甲板。 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();
如果任何人有知識,要做到這一點,如果他們能輕推我朝着正確的方向或提供如何做到這一點的例子,我會很感激!