SQL Server 数据库DML触发器 【一】

今天学习SQL Server数据库中DML触发器(DDL触发器以后有时间继续学习)。

当删除一条创建有触发器的表中的内容时,触发器执行SQL语句。

1.首相先创建一张表,表名称是 [Test] , 内有三个字段,分别是 [Name], Sex, Place.

1 use inter
2 create table Test
3 (
4     [Name] varchar(20) not null,
5     Sex    varchar(20) not null,
6     Place  varchar(20) not null
7 )

2.然后为表中的字段添加内容:

1 use inter
2 insert into Test ([Name], Sex, Place) values (‘张三‘, ‘男‘, ‘北京‘)
3 insert into Test ([Name], Sex, Place) values (‘李四‘, ‘女‘, ‘上海‘)
4 insert into Test ([Name], Sex, Place) values (‘王五‘, ‘男‘, ‘广州‘)

添加之后截图:

3.创建触发器:

 1 set ANSI_NULLS ON
 2 set QUOTED_IDENTIFIER ON
 3 GO
 4 -- =============================================
 5 -- Author:         H_F_us
 6 -- Create date:    2014年12月28日20:29:47
 7 -- Description:    测试触发器
 8 -- =============================================
 9 ALTER TRIGGER [dbo].[First_tg]
10    ON  [dbo].[Test]
11    AFTER DELETE
12 AS
13 BEGIN
14
15 insert into Test ([Name], Sex, Place) values (‘Test‘, ‘Test‘, ‘Test‘)
16
17 END

4.之后,如果执行一条删除语句,如:

1 delete from Test where [Name] = ‘张三‘

5.则触发器被触动,执行下面SQL语句:

1 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  数据库触发器使用 【二】}中写出来。如果有什么错误的地方请大家在评论区指正,先谢过。

时间: 2024-08-01 20:03:47

SQL Server 数据库DML触发器 【一】的相关文章

SQL Server数据库DML操作

补充: 1.删除数据库: 例子:drop database 学生数据库 2.删除表 例子:drop table 学生表 1.在表中增加数据 例子: insert into学生表(学号,姓名,性别,出生日期,政治面貌) values(43,'yyw','男','2000-7-5,'党员''); 2.在表中更改数据 例子 update 学生表 set 姓名='yyh' where 学号=43; 3.在表中删除数据 例子 delete from 学生表 where 学号=43: delete from

SQL Server 数据库的维护(二)__触发器

--维护数据库----触发器-- --概述:注:触发器是一种特殊类型的存储过程,用来强制执行业务规则.在调用执上,触发器不能像存储过程那样可以由用户通过T-SQL语句直接调用,而是需要有数据库所发生的insert.update.delete事件的执行来激发触发器的自动执行.因此在创建和使用触发器时,需要考虑好触发事件的执行和被触发事件后,再设计和创建触发器,已完成用户需求.触发器可以向约束一样,在数据表和视图中的数据发生改变时强制执行业务规则.在某种角度上,触发器要优于约束,因为触发器可以包含使

SQL Server如何用触发器捕获DML操作的会话信息

原文:SQL Server如何用触发器捕获DML操作的会话信息 需求背景 上周遇到了这样一个需求,维护人员发现一个表的数据经常被修改,由于历史原因:文档缺少:以及维护人员的经常变更,导致他们对系统也业务也不完全熟悉,他们也不完全清楚哪些系统和应用程序会对这个表的数据进行操作.现在他们想找出有哪些服务器,哪些应用程序会对这个表进行INSERT.UPDATE操作.那么问题来了,怎么去解决这个问题呢? 解决方案 由于数据库版本是标准版,我们选择了使用触发器来捕获进行DML操作的会话的相关信息,例如,H

SQL Server数据库学习总结

经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成:对于初学者首先要学的 一图胜"十"言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数据库有了一些认识.  数据库基本是由表,关系,操作组成:对于初学者首先要学的:  1.数据库是如何存储数据的  表,约束,触发器  2.数据库是如何操作数据的  insert,update,delete T-sql 函数 存储过程 触发器  3.数据库是如何显示数据的  select SQLSer

SQL Server 中的触发器(trigger)

SQL Server 触发器 触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器.SQL Server 20

SQL server 2008创建触发器实例

触发器定义以及分类: 触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. ? 什么是触发器 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器.SQL Server 2005中触

sql server 数据库的管理以及维护

   http://xiaorenwutest.blog.51cto.com                 数据库和表的管理 前言:上次主要介绍的是sql server数据库的搭建以及通过SSMS工具进行连接数据库,本次内容主要介绍数据库的表进行管理.在工作中DBA通常对数据库进行创建和删除以及修改表的内容,扩展和收缩.分离及附加. 表是存放数据.查找数据以及更新数据的基本数据构建,在对数据的操作都是在表的基础上进行的,以及如何维护表.   注:实际上表是逻辑的存在,事实上数据存放在硬盘上面.

SQL server 数据库用户表名称

转自(http://blog.163.com/jlj_sk/blog/static/22579293200861422833924/) 取得SQL server 数据库中 所有用户表名称 select name from sysobjects where xtype='U' order by name SQL server数据库系统表详解: sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 sysc

SQL Server中的触发器

去年接触触发器的时候一头雾水,现在也算有了个大概的了解.就像的自考一样,学习真的是一个需要反复的过程,从陌生到熟悉这是一个过程.         一.基本概念 触发器是一种特殊类型的存储过程,它不同于普通的存储过程.触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用.当往某一个表格中插入记录.修改记录或者删除记录时,SQL  SERVER就会自动执行触发器所定义的SQL语句,以确保数据的完整性.         二.作用         就我的理解,触发器的主要作