SQL Server 数据库DML触发器 【一】
2014-12-28 21:42
369 查看
今天学习SQL Server数据库中DML触发器(DDL触发器以后有时间继续学习)。
当删除一条创建有触发器的表中的内容时,触发器执行SQL语句。
1.首相先创建一张表,表名称是 [Test] , 内有三个字段,分别是 [Name], Sex, Place.
2.然后为表中的字段添加内容:
添加之后截图:
3.创建触发器:
4.之后,如果执行一条删除语句,如:
delete from Test where [Name] = '张三'
5.则触发器被触动,执行下面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语句。
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 数据库之触发器
- 三个SQL Server 数据库触发器的例子[原创]
- 数据库触发器DB2和SQL Server的异同
- SQL Server实现用触发器捕获DML操作的会话信息【实例】
- SQL Server如何用触发器捕获DML操作的会话信息
- 使用 SQL SERVER 2005 新增功能--- DDL_DATABASE_LEVEL_EVENTS 数据库级的触发器,创建数据库日志表
- SQL Server中,浅谈数据库的触发器
- SQL Server DDL 触发器(Trigger)-- 创建数据库级别的DDL触发器
- SQL SERVER 判断是否存在并删除某个数据库、表、视图、触发器、储存过程、函数
- SQL SERVER 判断是否存在并删除某个数据库、表、视图、触发器、储存过程、函数
- 浅谈SQL Server 数据库之触发器
- sql server 数据库中 触发器和约束的暂停及恢复操作 命令
- 用SQL Server 2005DDL触发器对数据库进行监控
- 数据库触发器DB2和SQL Server的异同
- 监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1)
- 浅谈SQL Server 数据库的触发器
- SQL SERVER 数据库清空语句 忽略外键 触发器 等
- SQL Server查询数据库所有存储过程、触发器、索引信息SQL分享
- sql server 数据库中 触发器和约束的暂停及恢复操作 命令
- SQL Server查询数据库所有存储过程、触发器、索引信息SQL分享