同步一张异动记录作为数据采集的来源
创始人
2023-05-01 21:02:17
0

背景:如果在同一张表下采集,会造成堵塞

复制一张表

在触发器里写三个:insert、update、delete

USE [asrs37db]
GO
/****** Object:  Trigger [dbo].[tr_delete_trffl]    Script Date: 05/01/2023 21:03:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:  <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER trigger [dbo].[tr_delete_trffl]  on  [dbo].[ASRS_TRFFL]
   
   AFTER DELETE
AS 
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
delete b 
from [dbo].[ASRS_TRFFL2] b,deleted d 
where b.UNIQUE_ID=d.UNIQUE_ID
    -- Insert statements for trigger here

END
USE [asrs37db]
GO
/****** Object:  Trigger [dbo].[tr_insert_ASRS_TRFFL]    Script Date: 05/01/2023 21:04:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER trigger [dbo].[tr_insert_ASRS_TRFFL] on [dbo].[ASRS_TRFFL] 
for insert
as 
set xact_abort on 
insert ASRS_TRFFL2 (OPNO,sto_in_out,PROD_DATE,PROD_LINE,FIRST_IN_DATE,PROD_DATETIME,MATNR,STNO,TRAN_TIME,UNIQUE_ID)
select OPNO,sto_in_out,PROD_DATE,PROD_LINE,FIRST_IN_DATE,PROD_DATETIME,MATNR,STNO,TRAN_TIME,UNIQUE_ID from inserted
USE [asrs37db]
GO
/****** Object:  Trigger [dbo].[tr_update_trffl]    Script Date: 05/01/2023 21:04:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:  <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER trigger [dbo].[tr_update_trffl]  on  [dbo].[ASRS_TRFFL]
   AFTER UPDATE
AS 
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
update b set UNIQUE_ID=i.UNIQUE_ID,OPNO=i.OPNO,sto_in_out=i.STO_IN_OUT,PROD_DATE=i.PROD_DATE,PROD_LINE=i.PROD_LINE,FIRST_IN_DATE=i.FIRST_IN_DATE,PROD_DATETIME=i.PROD_DATETIME,MATNR=i.MATNR,STNO=i.STNO,TRAN_TIME=i.TRAN_TIME
from [dbo].[ASRS_TRFFL2] b,inserted i 
where b.UNIQUE_ID=i.UNIQUE_ID 
    -- Insert statements for trigger here

END

image

上一篇:关于异动记录打开要十来分钟的优化

下一篇:没有了

相关内容

热门资讯

入库端放货功能修复 存储过程 :ASRS_SPPR024B154行注释了,增加后面的判断函数 --and x....
零星入库的 简单看是字节超出,但算又没超,按程序走的确有截断的在Profiler里追踪到查询declare @p...
数据机的环境配置 查一下系统里的环境变量是这个:SSMA_O2SS_EP_HOME实际要这个:SSMA_O2SS_EP...
库格间搬移,说状态不对,我改一... USE [asrs37db]GO/****** Object: StoredProcedure [...
关于异动记录打开要十来分钟的优... 原来的反馈是打开这个异动记录页面,还没开始查就要十来分钟了我的答复是,这个表多的时候数据几千万条,当...
同步一张异动记录作为数据采集的... 背景:如果在同一张表下采集,会造成堵塞复制一张表在触发器里写三个:insert、update、del...