Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQLite代替触发器_Sql Server_Sqlite_Triggers - Fatal编程技术网

Sql server SQLite代替触发器

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

我想转换此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 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似乎不允许仅在视图中的表中创建触发器。是吗?根据,是的,但仅适用于
而不是
触发器。请检查。