您现在的位置>>.Net中文社区>>数据库

sql使用添加、更新、删除触发器的例子

浏览量: 作者:未知 来源:互联网

在mssql中,使用触发器有一定的好处,比如同步更新数据到某个表等,不过触发器不能使用过多,会造成性能上的影响,这方面的影响还挺大,如果有一个上百万记录的表,不推荐使用触发器,下面我们来看下使用sql触发器的应用。
主要有:
inserted 一个是deleted
inserted表示insert或update的新值集合
deleted 是update时的旧值或要删除的值集合
应用1:插入记录触发器

  1. /*************************************** 
  2.  
  3. 检测插入的触发器,当新建用户时, 
  4. 会将用户的信息拷入ZWUserSysc以便同步 
  5.  
  6. ***************************************/ 
  7.  
  8. CREATE TRIGGER Trg_ZWTLog_Insert 
  9. ON [DN_user] 
  10. for Insert  
  11. AS 
  12. begin 
  13. declare @id varchar(50) 
  14. declare @Name varchar(50) 
  15. declare @LogonName varchar(50) 
  16. declare @Password varchar(50) 
  17.  
  18. select @id=id, @Name=name,@LogonName=LogonNm, @password=password from  inserted 
  19.  
  20. insert into ZWUserSysc (ID,Name,LogonNm,Password,status) values (@id,@Name,@LogonName,@password,'I'
  21.   
  22. end 

应用二、更新记录触发器

  1. /*************************************** 
  2.  
  3. 检测更新的触发器,当有用户修改了自己的密码, 
  4. 会将用户的信息拷入ZWUserSysc以便同步 
  5.  
  6. ***************************************/ 
  7.  
  8. CREATE TRIGGER Trg_ZWTLog_UPDATE 
  9. ON [DN_user] 
  10. for UPDATE  
  11. AS 
  12. begin 
  13. declare @id varchar(50) 
  14. declare @Name varchar(50) 
  15. declare @LogonName varchar(50) 
  16. declare @Password varchar(50) 
  17.  
  18. select @id=id, @Name=name,@LogonName=LogonNm, @password=password from  inserted 
  19.  
  20. insert into ZWUserSysc (ID,Name,LogonNm,Password,status) values (@id,@Name,@LogonName,@password,'U'
  21.   
  22. end 
  23.  
  24. GO 

应用三、删除记录触发器

  1. /*************************************** 
  2.  
  3. 检测删除的触发器,当用户被删除时, 
  4. 会将用户的信息拷入ZWUserSysc以便同步 
  5.  
  6. ***************************************/ 
  7.  
  8. CREATE TRIGGER Trg_ZWTLog_Delete 
  9. ON [DN_user] 
  10. for Delete  
  11. AS 
  12. begin 
  13. declare @id varchar(50) 
  14. declare @Name varchar(50) 
  15. declare @LogonName varchar(50) 
  16. declare @Password varchar(50) 
  17.  
  18. select @id=id, @Name=name,@LogonName=LogonNm, @password=password from  Deleted 
  19.  
  20. insert into ZWUserSysc (ID,Name,LogonNm,Password,status) values (@id,@Name,@LogonName,@password,'D'
  21.   
  22. end 
  23.  
  24. GO 
本站部份资源来于互联网,只供学习之用,不得用于商业,如有侵犯版权请联系告知,本站将第一时间删除!
站长QQ:373638128 邮箱:navy1015@126.com
copyright © 2008 .Net中文社区 ASPXCS.NET™.All Rights Reserved 滇ICP备08102132号