SQL中Inserted 和Deleted表 以及触发Trigger
- 什么是Inserted 和Deleted表
 - 他们有什么用
 - trigger 的简单实用
 
1.什么是Inserted 和Deleted表
当插入数据的时候,其实是同时向目的表 和inserted表中插入数据,当没有出错时,向数据库中插入提交,inserted表中有刚插入的信息,
insert into student ([name],defaltage) output inserted.IDs values('{0}',{1}) 这里输出 刚插入的ids
如果出错,就不向数据库中插入了 rollback
这同时也就说明了 为啥identity 标示当出错的时候,identity不回滚,因为identity列 执行了插入了 identity 增长了
Deleted 也是同样,当删除时,其实是把数据放到Deleted表中,如果删除过程中没有出错,就删除deleted表 ,如果出错,就不删除,把数据重新放到表里
2.他们的用处 一般就是用来看看删除和插入的信息
3.Trigger简单用法
--TblClass 中有Id classname classdes
--创建一个和TblClass表结构一模一样的表
select top * into TblClassBackup from TblClass select * from TblClassBackup --创建一个删除触发器
--当TblClass删除数据的时候,都插入备份表中
create trigger tri_delete_tblclass on TblClass
after delete
as
begin
insert into TblClassBackup(tClassName,tClassdesc)
select tClassName,tClassDesc from deleted
end
delete from TblClass where tClassName='高二一班'
select * from TblClassBackup
会发现,刚才删除的数据,在备份表中
插入触发器同理
SQL中Inserted 和Deleted表 以及触发Trigger的更多相关文章
- SQL中查看数据库各表的大小
		
SQL中查看数据库各表的大小 编写人:CC阿爸 2014-6-17 在日常SQL数据库的操作中,如何快速的查询数据库中各表中数据的大小. 以下有两种方法供参考: 第一种: create table # ...
 - SQL中使用关键词创建表或字段
		
有时候我们给表或者字段命名时,会无意中选择了一个SQL中的关键字进行命名,然后就报错了: ERROR: syntax error at or near "limit" MySQL ...
 - Sql中如何将数据表的两个字段的值如何互换?
		
今天遇到一个数据表的两个列数据要互换,在网上找到并记录下. 直接用Sql就可以搞定,语法如下 --将数据表中两个列数据互换的语法-- update tabName set field1=field2, ...
 - 书写 sql 中关于 update 多表联合更新的方法
		
SQL Update多表联合更新的方法(1) sqlite 多表更新方法//----------------------------------update t1 set col1=t2.col1fr ...
 - MS SQL 中判断 数据库, 存储过程,表,临时表,视图,函数,用户,用户创建对象 等是否存在 SQL脚本
		
摘自: http://www.111cn.net/database/mssqlserver/39107.htm sql判断存储过程是否存在 判断数据库教程是否存在 Sql代码 if exists (s ...
 - 使用JSQLParser解析SQL中涉及到的表
		
首先添加Maven依赖: <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId& ...
 - SQL 中不同类型的表连接
		
http://www.linuxidc.com/Linux/2012-08/68035.htm 1.简介 在关系型数据库中,join操作是将不同的表中的数据联合在一起时非常通用的一种做法.首先让我们看 ...
 - Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在
		
--判断数据库是否存在 IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME = '库名') PRINT 'exists ' else ...
 - SQL中合并两个表的JOIN语句
		
SQL里有四种JOIN语句用于根据某条件合并两个表: (INNER) JOIN: 交集 LEFT (OUTER) JOIN: 左表数据全包括,右表对应的如果没有就是NULL RIGHT (OUTER) ...
 
随机推荐
- 项目报错 java lang illegalargumentexception error at 0 can t find referenced pointcut
			
出现error at ::0 can't find referenced pointcut...这样的错误原因是:如果你用的JDK版本是1.6的话,而引用的aspectjrt.jar是spring-2 ...
 - Python的内存管理、命名规则、3个特性讲解
			
理解变量: 变:现实世界中的状态是会发生改变的 量:衡量/记录现实世界中的状态,让计算机能够像人一样去识别世间万物(例如:一个人的身高.体重等这些信息) 为什么要变量: 程序执行的本质就是一系列状态的 ...
 - [python学习篇][廖雪峰][2]函数式编程
			
函数名也是变量: >>> f = abs >>> f(-10) 10 然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就 ...
 - 【bzoj1585】[Usaco2009 Mar]Earthquake Damage 2 地震伤害  网络流最小割
			
题目描述 Farmer John的农场里有P个牧场,有C条无向道路连接着他们,第i条道路连接着两个牧场Ai和Bi,注意可能有很多条道路连接着相同的Ai和Bi,并且Ai有可能和Bi相等.Farmer J ...
 - 【Luogu】P2473奖励关(期望DP)
			
题目链接 逆推期望DP.设f[i][j]为1~i-1中吃到的宝物集合为j,在i~k轮能得到的最大期望分数. 如果不吃显然f[i][j]+=f[i+1][j]/n 如果吃就是f[i][j]+=max(f ...
 - 学习 WebService 第一步:体系结构、三元素SOAP/WSDL/UDDI
			
原文地址:爱军的博客——WebService简介 一.为什么需要Web Service 笔记: WebService 可以实现 跨(硬件.服务器.开发工具.平台.应用程序.程序语言……)共享数据和应用 ...
 - CF985F Isomorphic Strings (字符串Hash,巧解)
			
题目链接 题意翻译 给你一个长度为 \(n\) 的字符串,\(m\) 次询问. 问两个相同长度的子串是否匹配. 我们称两个子串是匹配的,当且仅当其满足: 其中一个子串的字母可替代另一个子串的字母 例如 ...
 - [转] Makefile 基础 (7) —— Makefile 中 make 的运行
			
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客:(最原始版本) http://blog.csdn.net/haoel/article/details/2886 我转自 ...
 - Django自定义User模型和登录验证
			
用户表已存在(与其他App共用),不能再使用Django内置的User模型和默认的登录认证.但是还想使用Django的认证框架(真的很方便啊). 两个步骤: 1)自定义Use模型,为了区分系统的Use ...
 - net2:DropDownList的使用
			
原文发布时间为:2008-07-29 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...