我有一个 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 复制相同的内容。
谁能帮助我。