zoukankan      html  css  js  c++  java
  • SQL server 触发器的使用


    1
    --1.查看建立于某个表的触发器 2 SELECT * FROM SYSOBJECTS WHERE XTYPE='TR' AND parent_obj = OBJECT_ID('表名') 3 4 --2.查看数据库中所有的触发器 5 --use 数据库名 6 --go 7 --select * from sysobjects where xtype='TR' 8 --sysobjects 保存着数据库的对象,其中 xtype 为 TR 的记录即为触发器对象。在 name 一列,我们可以看到触发器名称。 9 10 11 --3.sp_helptext 查看触发器内容 12 --use 数据库名 13 --go 14 --exec sp_helptext '触发器名称' 15 16 --4.删除触发器 17 --drop trigger 触发器名称 18 19 --5.触发器的使用 20 --5.1、添加 21 go 22 create trigger eqadd 23 on [RT.Face].[dbo].[Equipment] 24 after insert 25 as 26 begin 27 declare @DeviceNo varchar(50),@ProjectId int,@DeviceType int 28 select @DeviceNo=DeviceNo,@ProjectId=ProjectId,@DeviceType=DeviceType from inserted 29 if(@DeviceType=2) 30 begin 31 insert into [RT.Face].[dbo].[CameraConfiguration](ProjectId, DeviceNo, Retrograde, RedLight, AbnormalDriving, SpeedMonitoring, 32 OpportunityDominates, LicensePlateRestrictions, TurnAround, EmergencyLanesOccupancy, ITime, uptType)values(@ProjectId,@DeviceNo,1,1,1,1,1,1,1,1,getdate(),0); 33 end 34 end 35 36 --5.2 修改 37 go 38 create trigger equpt 39 on [RT.Face].[dbo].[Equipment] 40 after update 41 as 42 begin 43 declare @DeviceNo varchar(50),@ProjectId int,@DeviceType int,@DeviceNos varchar(50),@DeviceTypes int,@counts int 44 select @DeviceNo=DeviceNo,@ProjectId=ProjectId,@DeviceType=DeviceType from inserted 45 select @DeviceNos=DeviceNo,@DeviceTypes=DeviceType from deleted 46 if(@DeviceNo!=@DeviceNos and @DeviceTypes=2) 47 begin 48 update [RT.Face].[dbo].[CameraConfiguration] set DeviceNo=@DeviceNo,ProjectId=@ProjectId where DeviceNo=@DeviceNos; 49 end 50 select @counts=count(*) from [RT.Face].[dbo].[CameraConfiguration] where DeviceNo=@DeviceNo 51 if(@counts<1) 52 begin 53 if(@DeviceType=2) 54 begin 55 insert into [RT.Face].[dbo].[CameraConfiguration](ProjectId, DeviceNo, Retrograde, RedLight, AbnormalDriving, SpeedMonitoring, 56 OpportunityDominates, LicensePlateRestrictions, TurnAround, EmergencyLanesOccupancy, ITime, uptType)values(@ProjectId,@DeviceNo,1,1,1,1,1,1,1,1,getdate(),0); 57 end 58 else 59 begin 60 delete from [RT.Face].[dbo].[CameraConfiguration] where DeviceNo=@DeviceNo; 61 end 62 end 63 64 end 65 66 67 --5.3 删除 68 go 69 create trigger eqdel 70 on [RT.Face].[dbo].[Equipment] 71 after delete 72 as 73 begin 74 declare @DeviceNo varchar(50),@DeviceType int 75 select @DeviceNo=DeviceNo,@DeviceType=DeviceType from deleted 76 if(@DeviceType=2) 77 begin 78 delete from [RT.Face].[dbo].[CameraConfiguration] where [DeviceNo]=@DeviceNo 79 end 80 end
  • 相关阅读:
    Golang的跨平台编译程序
    PySide教程:Clo“.NET研究”se 狼人:
    PyS“.NET研究”ide QtCore.Signal帮助手册 狼人:
    PySide教程:“.NET研究”第一个PySide应用 狼人:
    关“.NET研究”于Android的一些设计 狼人:
    资深设计师Tony Ventrice解析手机游戏开“.NET研究”发的四个层次 狼人:
    移动开发多平台代码共享“.NET研究” 狼人:
    关于做Andr“.NET研究”oid+J2ee系统集成开发的一点心得 狼人:
    “.NET研究”【Android开发教程】一、基础概念 狼人:
    “.NET研究”如何发布你的Android应用程序 狼人:
  • 原文地址:https://www.cnblogs.com/s666/p/13735884.html
Copyright © 2011-2022 走看看