SQL Server 数据库DML触发器 【一】
今天学习SQL Server数据库中DML触发器(DDL触发器以后有时间继续学习)。
当删除一条创建有触发器的表中的内容时,触发器执行SQL语句。
1.首相先创建一张表,表名称是 [Test] , 内有三个字段,分别是 [Name], Sex, Place.
use inter
create table Test
(
[Name] varchar(20) not null,
Sex varchar(20) not null,
Place varchar(20) not null
)
2.然后为表中的字段添加内容:
use inter
insert into Test ([Name], Sex, Place) values ('张三', '男', '北京')
insert into Test ([Name], Sex, Place) values ('李四', '女', '上海')
insert into Test ([Name], Sex, Place) values ('王五', '男', '广州')
添加之后截图:
3.创建触发器:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: H_F_us
-- Create date: 2014年12月28日20:29:47
-- Description: 测试触发器
-- =============================================
ALTER TRIGGER [dbo].[First_tg]
ON [dbo].[Test]
AFTER DELETE
AS
BEGIN insert into Test ([Name], Sex, Place) values ('Test', 'Test', 'Test') END
4.之后,如果执行一条删除语句,如:
delete from Test where [Name] = '张三'
5.则触发器被触动,执行下面SQL语句:
insert into Test ([Name], Sex, Place) values ('Test', 'Test', 'Test') -- 触发器中事先写好的SQL语句
6.语句执行之后,截图:
*解说:
1.触发器SQL语句中 ALTER TRIGGER 后面跟的是触发器的名称,在符合SQL命名规范的前提下,任意选取。
2.触发器SQL语句中 ON 后面跟的是要创建触发器表的表名称。
3. AFTER之后是执行哪种操作后激活触发器。 delete 、insert、 update,三种操作类型,至少触发器中要真有一种,也可以是三种的任意组合,顺序不受限制。
4.这个例子使用的是delete操作类型,其他操作类型同上。
5.在SQL触发器中,不仅仅是只有AFTER 触发器 还有一种是 INSTEAD OF 触发器 。前者是在SQL语句执行之后,激活触发器,也就是今天所写的这一种情况。而后者是在SQL语句执行之前激活触发器。
INSTEAD OF 触发器的使用,会在 { SQL Server 数据库触发器使用 【二】}中写出来。如果有什么错误的地方请大家在评论区指正,先谢过。
SQL Server 数据库DML触发器 【一】的更多相关文章
- 监控SQL:通过SQL Server的DML触发器来监控哪些IP对表的数据进行了修改(2)
原文:监控SQL:通过SQL Server的DML触发器来监控哪些IP对表的数据进行了修改(2) 在有些公司中,由于管理的不规范,或者是便于开发人员直接修改.部署程序,往往任何开发人员,都能登录到生产 ...
- Sql Server数据库之触发器
阅读目录 一:触发器的优点 二:触发器的作用 三:触发器的分类 四:触发器的工作原理 五:创建触发器 六:管理触发器 概念: 触发器(trigger)是SQL server 提供给程序员和数据分析 ...
- SQL Server数据库级别触发器
禁止修改表结构和加表 CREATE TRIGGER [Object_Change_Trigger_DDL] ON DATABASE FOR ALTER_TABLE,DROP_TABLE,CREATE_ ...
- Sql Server数据库使用触发器和sqlbulkcopy大批量数据插入更新
需要了解的知识 1.触发器 2.sqlbulkcopy 我的用途 开发数据库同步的工具,需要大批量数据插入和数据更新. 方式 使用SqlBulkCopy类对数据进行数据批量复制,将需要同步数据的表新建 ...
- SQL Server 数据库的维护(二)__触发器
--维护数据库-- --触发器-- --概述: 触发器是一种特殊类型的存储过程,用来强制执行业务规则.在调用执上,触发器不能像存储过程那样可以由用户通过T-SQL语句直接调用,而是需要有数据库所发生的 ...
- 监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1)
原文:监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1) 如果你要同步不同数据库之间的数据,首先会想到的是数据库复制技术,但如果让你同步数据库的结构,你会想到什么呢? 下面 ...
- 5、SQL Server数据库、T-SQL
SQL Server数据库基础 一.安装SQL Server数据库 setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步- ...
- SQL Server - 数据库初识
在互联网笔试中,常遇到数据库的问题,遂来简单总结,注意,以 Sql Server 数据库为例. 数据库 数据库系统,Database System,由数据库和数据库管理系统组成. 数据库,Data ...
- SQL Server 中的触发器(trigger)
SQL Server 触发器 触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 ...
随机推荐
- CentOS Linux 语言环境设置
程序运行使用一套语言需要有字符集(数据)和字体(显示),Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境. 一.locale详解 在 Li ...
- 【COM学习】之二、HRESULT,GUID
HRESULT 来向用户报告各种情况. 他的值位于 WINERROR.H中 QueryInterface返回一个HRESULT值. HRESULT不是一个句柄,他是一个可分成三个域的32位值. ...
- hdu 5540 Secrete Master Plan(水)
Problem Description Master Mind KongMing gave Fei Zhang a secrete master plan stashed × matrix, but ...
- Hadoop学习之编译eclipse插件
近期准备開始学习Hadoop1.2.1的源码,感觉最好的方法还是能够在运行Hadoop及hadoop作业时跟踪调试代码的实际运行情况.因为选择的IDE为eclipse,所以准备编译一下hadoop的e ...
- Coroutine,你究竟干了什么?
一 引子 使用Unity已经有一段时间了,对于Component.GameObject之类的概念也算是有所了解,而脚本方面从一开始就选定了C#,目前来看还是挺明智的:Boo太小众,而且支持有限:JS( ...
- 第四章SignalR自托管主机
第四章SignalR自托管主机 SignalR服务器通常在IIS的Asp.Net应用程序上承载,但它也可以使用自托管库来作为自托管的主机来运行(就像控制台应用程序或Windows服务那样)与Signa ...
- Javascript数组中shift()和push(),unshift()和pop()操作方法使用
Javascript为数组专门提供了push和pop()方法,以便实现类似栈的行为.来看下面的例子: var colors=new Array(); //创建一个数组 var count= ...
- 在什么情况下使用exist和in
http://www.itpub.net/thread-406784-4-1.htmlYou Asked (Jump to Tom's latest followup) Tom: can you gi ...
- 出现java.lang.NoSuchFieldException resourceEntries错误的解决方法
JSP表单里面的表单输入<input type= "text" name="user">这里面的每一个输入都是一个Attribute,相当于setA ...
- php消息队列
Memcache 一般用于缓存服务.但是很多时候,比如一个消息广播系统,需要一个消息队列.直接从数据库取消息,负载往往不行.如果将整个消息队列用一个key缓存到memcache里面.对于一个很大的消息 ...