最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

SqlServerTriggerinsertupdatedelete

来源:动视网 责编:小采 时间:2020-11-09 08:03:27
文档

SqlServerTriggerinsertupdatedelete

SqlServerTriggerinsertupdatedelete:本文介绍下,Sql Trigger的注意点。 基本式如下 --drop trigger JhToPLMUserTrigger create trigger JhToPLMUserTrigger on Users for insert,update as DECLARE @bits int; --SET @bits = COLUMNS_UPDA
推荐度:
导读SqlServerTriggerinsertupdatedelete:本文介绍下,Sql Trigger的注意点。 基本式如下 --drop trigger JhToPLMUserTrigger create trigger JhToPLMUserTrigger on Users for insert,update as DECLARE @bits int; --SET @bits = COLUMNS_UPDA


本文介绍下,Sql Trigger的注意点。 基本式如下 --drop trigger JhToPLMUserTrigger create trigger JhToPLMUserTrigger on Users for insert,update as DECLARE @bits int; --SET @bits = COLUMNS_UPDATED(); --IF ((@bits 1)0 or (@bits 2)0) IF ( UPDATE(

本文介绍下,Sql Trigger的注意点。

基本格式如下

--drop trigger JhToPLMUserTrigger
create trigger JhToPLMUserTrigger
on Users for insert,update
as
DECLARE @bits int;
--SET @bits = COLUMNS_UPDATED();
--IF ((@bits & 1)>0 or (@bits & 2)>0)
IF (UPDATE(username) or update([password]) or update(logincode))
begin
insert into TempTableForJhToPLMUser select UserID,UserName,logincode,[PassWord],'U' from inserted
--insert into TempTableForJhToPLMUser select UserID,UserName,logincode,[PassWord],'U' from deleted
end

其中用得比较多的有insert与delete比较好判断。只用区分inserted与deleted是否有数据集就OK了。

update比较难判断,应该MS Sql的update的机制是先删除,在插入的方式执行的update操作。

捕获起来不是那么方便。执行一条update 在触发器里面的 inserted与deleted的数据集中都会有数据。

那么在使用 columns_update()函数可以来监听更新的列信息。

比如(@bits & 1)>0 用来监听第一列更新状态,(@bits & 2)>0 第二列,(@bits & 4)>0 第三列,(@bits & 8)>0 第四列 依次类推。

依次是2的0次方,1次方,2次方,3次方等等。这种用起来比较复杂。

还有一种,update() 来判断列的更新情况。如上面标红的UPDATE(username) ,username为列名,直接来判断列的更新情况,比较简便。

文档

SqlServerTriggerinsertupdatedelete

SqlServerTriggerinsertupdatedelete:本文介绍下,Sql Trigger的注意点。 基本式如下 --drop trigger JhToPLMUserTrigger create trigger JhToPLMUserTrigger on Users for insert,update as DECLARE @bits int; --SET @bits = COLUMNS_UPDA
推荐度:
标签: 触发器 update delete
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top