SQL触发器--插入时判断数据是否已存在

原创 2012年03月26日 10:53:05

判断插入的人员身份证号是否已存在,如存在则取消插入,并给出提示。
--身份证号唯一,但并非主键,主键是ZA0100
create TRIGGER flx_isexist
ON FD01
for INSERT
AS
begin
 declare @id varchar(20)
 declare @key varchar(64)
 select @id=aa0177,@key=ZA0100 from inserted

 IF ((select count(*) from FD01 where aa0177 = @id)>1)
 begin 
  delete from fd01 where ZA0100=@key
  raiserror ('该身份证用户已存在!',16,1)
  return
 end
end
使用事务,可以更简洁,如下:
create TRIGGER flx_isexist
ON FD01
for INSERT
AS
begin
   declare @id varchar(20)
   select @id=aa0177 from inserted
   IF ((select count(*) from FD01 where aa0177 = @id)>1)
   begin 
      rollback tran
      raiserror ('该身份证用户已存在!',16,1)
      return
   end
end
触发器可以理解为一种特殊的存储过程,区别在于:调用执行还是触发执行。

MySQL 判断记录是否存在,不存在则插入存在则更新

冯锐超 2017-03-21 13:44 最近在做一个电影相关的项目需要定时从第三方合作商那拿相关的影片,影院,影厅等一些数据,然后经过数据清洗变为自己的数据。在这里就涉及到重复数据的问题。...

SQL server触发器、存储过程操作远程数据库插入数据,解决服务器已存在的问题

最近弄了一个小项目,也不是很复杂,需要将一个数据库的一些数据备份到另外一个库,不是本地,可能是网络上其他的数据库,想了一下,用了存储过程和触发器。也不是很复杂,首先我需要操作远程数据库,于是写了一个存...
  • ysblue
  • ysblue
  • 2015年07月24日 15:57
  • 1226

mysql 防止插入重复数据sql和触发器

这里主要使用了mysql中的虚拟表dual。 有时候我们希望在插入一行新数据前,直接在sql中判断这个数据段的值是不是有重复,比如说插入一个新栏目,判断这个栏目名称是否存在。 表blog_note...
  • sujudz
  • sujudz
  • 2012年11月03日 07:15
  • 7651

sql server触发器实现插入时操作另一张表

以前都是也得mysql,现在写sqlserver的触发器,感觉改动还是蛮大的 1.定义变量 #在mysql中变量直接这么定义就可以了 SET @VALUE = "111"; #在sql serv...
  • luo4105
  • luo4105
  • 2016年05月08日 19:23
  • 2788

mysql 使用触发器 事件 数据插入一小时后如果没有任何操作时进行删除

这几天做一个邮箱注册的账号的问题,由于注册的邮箱需要激活,就考虑到发送邮件进行激活的问题,我设定的激活有效期为三个小时。...

mysql 触发器 监听这个表插入时增加数据 在某字段变动时进行触发

mysql 触发器 监听这个表插入时增加数据 在某字段变动时进行触发

SQL Server 触发器(表数据添加)

近日在做内部的一个项目时,用到了触发器,将部门代码贴出来,以供参考。 -- ============================================= -- Author: QW -...

SQL Server 使用触发器监控数据变更

-- 创建一个t表,来模拟要被监控的数据表 CREATE TABLE t(ID INT IDENTITY(1,1) NOT NULL, aid INT, aname NVARCHAR(20)); ...

牛腩新闻发布系统笔记6:SQL触发器:实现数据的联动删除

当执行了SQL语句后,自动触发被执行表的触发器,我们可以在这个触发器中添加一些操作,从而实现执行了SQL语句后触发这些操作的目的。 创建触发器: CREATE TRIGGER trig...
  • zhanzkw
  • zhanzkw
  • 2011年08月27日 08:30
  • 578

使用SQL Server的存储过程和触发器来实时同步ERP和淘宝网的数据

目前接手一个项目,是一个销售服装的电子商务网站, 内部使用商贸之星的CRM来管理订单和库存,外网有淘宝商城,为了实现商贸之星和淘宝商城之间的库存数据保持同步,需要自己开发这样一个工具. 现场环境: ...
  • gonxi
  • gonxi
  • 2012年04月09日 17:17
  • 3435
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL触发器--插入时判断数据是否已存在
举报原因:
原因补充:

(最多只允许输入30个字)