小飞鱼SQLserver 使用触发器保留最新的十条数据(代码)

使用触发器解决只保留最新十条数据的问题,按条件进行过滤,多种数据保存在一个表中。

-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		XIAOFEIYU
-- Create date: 2019-3-26
-- Description:	保留指定条数数据,新插入数据删除之前的大于n的条数
-- =============================================

Alter TRIGGER TG_X_PLC_get_data_keepN 
   ON  X_PLC_get_data 
   AFTER INSERT
AS 
BEGIN
	SET NOCOUNT ON;

	Declare @eptId int;
	Declare @comId int;
	Declare @partId int;
	Declare @type varchar(20);


	Select @eptId=inserted.eptId, @comId=inserted.comId, @partId=inserted.partId, @type=inserted.mtype
	from INSERTED;

    Delete from X_PLC_get_data 
			where eptId=@eptId and comId=@comId and partId=@partId and mtype=@type 
				  and id not in 
				  (Select top 10  id from X_PLC_get_data
				 where eptId=@eptId and comId=@comId and partId=@partId and mtype=@type order by id desc);

END
GO

 

展开阅读全文
©️2020 CSDN 皮肤主题: 精致技术 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值