博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
触发器基本使用
阅读量:6262 次
发布时间:2019-06-22

本文共 1018 字,大约阅读时间需要 3 分钟。

1、 after触发器(之后触发)    a、 insert触发器    b、 update触发器    c、 delete触发器2、 instead of 触发器 (之前触发)触发器语句中使用了两种特殊的表:deleted 表和 inserted 表。Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。1.插入操作(Insert)   Inserted表有数据,Deleted表无数据 2.删除操作(Delete)   Inserted表无数据,Deleted表有数据 3.更新操作(Update)   Inserted表有数据(新数据),Deleted表有数据(旧数据)

示例:根据tb1表同步(增、删、改)tb2表

--增加数据CREATE TRIGGER insertTrgON tb1FOR INSERTAS    DECLARE @id VARCHAR,@val VARCHAR    SELECT @id = id FROM INSERTED    SELECT @val = val FROM INSERTED        INSERT INTO tb2    VALUES(@id , @val)    --修改数据CREATE TRIGGER updateTrgON tb1FOR UPDATEAS    UPDATE tb2    SET val = (SELECT val FROM INSERTED)    WHERE  id = (SELECT id FROM INSERTED)--删除数据    CREATE TRIGGER delTrgON tb1FOR DELETEAS    DELETE     FROM   tb2    WHERE  id = (SELECT id FROM DELETED)

 

转载于:https://www.cnblogs.com/win32pro/p/8076179.html

你可能感兴趣的文章
关于ssh 配置文件的参数说明
查看>>
金山词霸2005无法用鼠标取词
查看>>
Java Http断点下载文件
查看>>
我的微软最有价值专家(Microsoft MVP)之路
查看>>
如何在gcc编译时指定共享库的搜索路径?
查看>>
如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)
查看>>
Linux下SENDMAIL+OPENWEBMAIL(1)
查看>>
无法添加内核模式驱动的打印机
查看>>
Spring Cloud规范实战
查看>>
javascript event 事件
查看>>
2012自学CCNP路由与交换之三网络设备造型及验收
查看>>
lf4j+logback配置方式,logback.groovy使用备忘
查看>>
RHEL,centOS下vncserver,service命令关联的rpm包
查看>>
slf4j+logback配置方式,logback.groovy使用备忘
查看>>
android中阿拉伯文研究
查看>>
SCCM TP4安装客户端Agent
查看>>
配置PIX515E DMZ的基本方法与故障排除
查看>>
HA Cluster—ansible批量操作
查看>>
SpringMVC那点事
查看>>
大话nbu三(配置media server存储)
查看>>