PL/SQL - 触发器计数
Posted
技术标签:
【中文标题】PL/SQL - 触发器计数【英文标题】:PL/SQL - Triggers Count 【发布时间】:2018-01-05 11:57:55 【问题描述】:我有以下表格:
Piers(PierID, Name, NumOfShips)
Ships(ShipID, Name)
Docking(PierID, ShipID)
我需要实现一个触发器,该触发器将计算每个码头包含多少艘船,并将结果插入NumOfShips
。
【问题讨论】:
到目前为止你得到了什么? 【参考方案1】:您需要一个AFTER UPDATE
触发器
CREATE OR REPLACE TRIGGER change_on_Ships
AFTER UPDATE ON Ships
BEGIN
UPDATE Piers
SET NumOfShips = (
SELECT count(1) FROM Docking d
WHERE d.PierID = (
SELECT PierID FROM Docking where ShipId = :NEW.ShipID
)
)
WHERE PierID = (select PierID from Docking where ShipID = :NEW.ShipID );
END;
希望对你有帮助
【讨论】:
以上是关于PL/SQL - 触发器计数的主要内容,如果未能解决你的问题,请参考以下文章