Sql server SQLite代替触发器
我想转换此Microsoft SQL Server触发器Sql server SQLite代替触发器,sql-server,sqlite,triggers,Sql Server,Sqlite,Triggers,我想转换此Microsoft SQL Server触发器 ALTER TRIGGER [dbo].[trg_EliminoItems] ON [dbo].[PedidosEncabezado] INSTEAD OF DELETE AS BEGIN SET NOCOUNT ON; insert into HistPedidosEncabezado select * from PedidosEncabezado where PedidosID in ( select Pedido
ALTER TRIGGER [dbo].[trg_EliminoItems]
ON [dbo].[PedidosEncabezado]
INSTEAD OF DELETE
AS
BEGIN
SET NOCOUNT ON;
insert into HistPedidosEncabezado select * from PedidosEncabezado where PedidosID in ( select PedidosID from deleted )
insert into HistPedidosItems select * from PedidosItems where PedidosID in ( select PedidosID from deleted )
delete from PedidosItems where PedidosID in ( select PedidosID from deleted )
delete from PedidosEncabezado where PedidosID in ( select PedidosID from deleted )
END
进入SQLite。SQLite不允许在表上使用
而不是触发器,但您还是要删除这些记录:
CREATE TRIGGER trg_EliminoItems
BEFORE DELETE ON PedidosEncabezado
FOR EACH ROW
BEGIN
INSERT INTO HistPedidosEncabezado
SELECT * FROM PedidosEncabezado WHERE PedidosID = OLD.PedidosID;
INSERT INTO HistPedidosItems
SELECT * FROM PedidosItems WHERE PedidosID = OLD.PedidosID;
DELETE FROM PedidosItems WHERE PedidosID = OLD.PedidosID;
END;
这个触发器有什么问题?SQLite没有SET
语句,或者其他任何东西?我试图在SQLite中创建相同的sql触发器,但SQLite似乎不允许仅在视图中的表中创建触发器。是吗?根据,是的,但仅适用于而不是触发器。请检查。