【问题标题】:PL/SQL - Triggers CountPL/SQL - 触发器计数
【发布时间】:2018-01-05 11:57:55
【问题描述】:

我有以下表格:

Piers(PierID, Name, NumOfShips)
Ships(ShipID, Name)
Docking(PierID, ShipID)

我需要实现一个触发器,该触发器将计算每个码头包含多少艘船,并将结果插入NumOfShips

【问题讨论】:

  • 到目前为止你得到了什么?

标签: plsql triggers


【解决方案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;

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2013-12-11
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 2017-09-14
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多