0

我有一个 SQL Server 触发器,我尝试将其转换为 Firebird,但似乎遇到了一些问题。

这是我的 SQL 触发器:

CREATE TRIGGER [dbo].[IDSOFT_INTERV_UI]
   ON [MMAINT_SOCO_PROD].[dbo].[T_ZONES_LIBRES_UI]
   AFTER UPDATE
AS 
BEGIN
    IF UPDATE(STR_ZONE_LIBRE)
        BEGIN

        DECLARE @ui_id int,
                @num_interv int;
                
        SELECT @ui_id = d.LIEN_UI,
               @num_interv = e.NUM_INTERV
        FROM T_LIGNE_BT a
        inner join T_BT b on b.NUM_BT = a.CLE_BT
        inner join T_UI c on c.NUM_UI = b.CLE_UI
        inner join T_ZONES_LIBRES_UI d on d.LIEN_UI = c.NUM_UI
        inner join T_INTERV e on e.NOM_INTERV = d.STR_ZONE_LIBRE
        WHERE d.LIEN_UI in (select LIEN_UI from INSERTED) and d.INDICE_ZONE_LIBRE = 20;     
        
    Update a
    set a.cle_element = e.NUM_INTERV
    from t_ligne_bt a
    inner join T_BT b on b.NUM_BT = a.CLE_BT
    inner join T_UI c on NUM_UI = b.CLE_UI
    inner join T_ZONES_LIBRES_UI d on d.LIEN_UI = c.NUM_UI
    inner join T_INTERV e on e.NOM_INTERV = d.STR_ZONE_LIBRE
    where d.LIEN_UI = @ui_id
        and b.cle_ip is not null 
        and b.cle_ip <> 100000
        and a.type_ligne_bt like 'I'

      END
END

我真的很难为 Firebird 复制相同的内容。

谁能帮助我。

4

0 回答 0