sqlserver数据库触发器,对当前的表数据插入时,根据条件防止数据重复插入。

  • Post author:
  • Post category:其他


这是一个之前做项目用的。

以下是触发器sql语句,直接执行即可。如果需求不一样需要修改对应的语句就行。

USE [NetCoreWebApi]

GO

/****** Object:  Trigger [dbo].[testInsertTrigger]    Script Date: 2020/2/23/周日 12:41:15 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER trigger [dbo].[testInsertTrigger]

on [dbo].[TestTrigger]

after insert

as

declare @isexist int;

declare @codebm nvarchar(50);

declare @typecode nvarchar(50);

set @isexist = 0;

set @codebm =”;

set @typecode =”;

select @codebm = codebm from inserted;

select @typecode = typecode from inserted;

select @isexist = count(1)

from TestTrigger

where TestTrigger.codebm =  @codebm  and TestTrigger.typecode = @typecode;

select @isexist;

select @codebm;

select @typecode;

if(@isexist>1)

begin

delete

from  TestTrigger

where TestTrigger.id = (select max(inserted.id)

from TestTrigger,inserted

where TestTrigger.codebm= inserted.codebm)

end



版权声明:本文为zgp11zgp原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。