22,206
社区成员
发帖
与我相关
我的任务
分享
alter trigger tr_flow_del
on flow_data
instead of delete
as
declare @id int;
select @id=id from deleted;
begin
insert into flow_data_bak select * from deleted;
insert into flow_run_prcs_bak select * from flow_run_prcs where id=@id;
insert into flow_run_bak select * from flow_run where id=@id;
end
go
CREATE TRIGGER tr_flow_del ON flow_data
INSTEAD OF DELETE
AS
BEGIN TRY
BEGIN TRAN;
INSERT INTO flow_data_bak
SELECT *
FROM deleted;
INSERT INTO flow_run_prcs_bak
SELECT *
FROM flow_run_prcs
WHERE id IN ( SELECT id
FROM deleted );
INSERT INTO flow_run_bak
SELECT *
FROM flow_run
WHERE id IN ( SELECT id
FROM deleted );
DELETE flow_data
WHERE id IN ( SELECT id
FROM deleted );
COMMIT TRAN;
END TRY
BEGIN CATCH
RAISERROR(N'trigger Error',16,1);
ROLLBACK TRAN;
END CATCH;
GO
CREATE TRIGGER tr_flow_del ON flow_data
FOR DELETE
AS
BEGIN
INSERT INTO flow_data_bak
SELECT *
FROM deleted;
INSERT INTO flow_run_prcs_bak
SELECT *
FROM flow_run_prcs
WHERE id IN ( SELECT id
FROM deleted );
INSERT INTO flow_run_bak
SELECT *
FROM flow_run
WHERE id IN ( SELECT id
FROM deleted );
END;
GO