我有兩個表:觸發涉及兩個表的SQL
合同(球員,隊)
匹配(球員,球隊,比賽)
團隊是一個數字(1)從0到9
MATCHES中的屬性團隊必須與合同中的該參與者相同,或者少於1或1個。 (在比賽中,同一名球員可能會出現不止一次)。
我有一個觸發器,以檢查是否在比賽中所有球員的履行我前面提到
我已經試過了,但沒有找到狀態:
CREATE TRIGGER trigA
BEFORE INSERT OR UPDATE OF team on matches
FOR EACH ROW
DECLARE error EXCEPTION;
BEGIN
IF (:NEW.team!=contracts.team OR :NEW.team!=contracts.team +1 OR :NEW.team!=contracts.team -1) AND (:NEW.player) = contracts.player
THEN error;
END IF;
EXCEPTION
WHEN error THEN DBMS_OUTPUT.PUT_LINE('Invalid Team');
END;
/
沒有。這是我第一次觸發兩張桌子,我不知道該怎麼辦。 – Dan
從觸發器定義的外殼開始 - 事件,時間,範圍和上下文 - 並將其發佈到您的問題中。知道這將使下一部分更容易。 –
此外,您已將此標籤標記爲「Oracle」和「MySQL」。您是使用這兩種產品,還是應該放下其中一個標籤? –