创建dml触发器

-实现删除学生信息时把该学生的成绩记录全部清空

--判断触发器是否存在
if exists(select * from sysobjects where name = ‘delete_student‘)
drop trigger delete_student

go
create trigger delete_student

--在哪个表
on student

--执行什么操作时触发
for insert

as
--sql程序
begin
print ‘操作执行中‘
select *  from inserted --这个系统生成的临时表 作为条件用

---begin end 内可以sql程序

--结尾
end

--测试
insert into Student values(‘S2102114‘,‘228996245‘,‘小明‘,‘女‘,1,‘123456789‘,‘江西南昌‘,getdate(),‘[email protected]‘)
时间: 2024-10-29 12:47:25

创建dml触发器的相关文章

SQL语句(二十一)—— 触发器(DML触发器)

触发器 一 .触发器概述(特殊的存储过程) 定义: 在修改指定表值的数据时执行的 存储过程. 不同的是 : 执行存储过程要使用EXEC语句来调用,而触发器的执行不需要使用EXEC语句来调用. 作用: 实现由主键和外键所不能保证的复制的参照完整性和数据的一致性 他能够对数据库中的相关表进行级联修改 提供比 CHECK约束 更复杂的数据完整性,并自定义错误信息. 分类: 数据操作语言触发器 DML 数据库操作语言 : update,Delete 数据定义语言触发器 DDL 记录数据库更改事件 二.创

DML触发器笔记(更新中)

0.1 实验数据库搭建 1.1 创建DML触发器语法 0.1 1.1 创建DML触发器语法 1 --Trigger on an INSERT, UPDATE, or DELETE statement to a table or view (DML Trigger) 2 CREATE TRIGGER [ schema_name . ]trigger_name 3 ON { table | view } 4 [ WITH <dml_trigger_option> [ ,...n ] ] 5 { F

SQLServer之创建DML AFTER INSERT触发器

DML AFTER INSERT触发器创建原理 触发器触发时,系统自动在内存中创建deleted表或inserted表,内存中创建的表只读,不允许修改,触发器执行完成后,自动删除. insert触发器工作原理:第一步执行insert插入语句,在表中插入数据行,第二步触发insert触发器,向系统临时表insert表中插入新行的备份(副本),第三部触发器检查insert表中插入的新行数据,确定是否要回滚或执行其他操作. 不能使用SSMS数据库管理工具直接创建DML添加触发器,可以使用T-SQL脚本

杂谈--DML触发器学习

触发器按类型分为三类: 1. DML 触发器,在数据变更时触发: 2. DDL 触发器,在修改数据库级别或实例级别对象时触发: 3. Login 触发器,在用户登录时触发: 最常见的是DML触发器,DML触发器又可以分为两类: INSTEAD OF触发器和AFTER触发器(部分书上有提到FOR触发器,其实就是AFTER 触发器,只是写法不同而已). 从功能来看,INSTEAD OF触发器用来替换实际的数据修改操作,而AFTER触发器用来在实际操作完成后进行后续操作.例如对于DELETE操作,如果

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 n

DML 触发器2

2.行级触发器的关联标识符 :new,:old >>1. 一般通过:new.filed 引用(filed是trigger_table的字段名) :new :old中filed字段的意义 触发语句 :old  :new     insert 未定义--所有字段为null 触发语句完成时,要插入的值     update 更新以前相对应记录行的值 触发完成后,要更新的值     delete 删除以前记录行的值         未定义-null >>2. :new,:old的用法 cr

48. SQL- 触发器之DML 触发器(1)

触发器   触发器分类 在SQLServer 中,触发器可以分为两大类:DML 触发器和DDL 触发器 DML 触发器: DML触发器是当数据库服务器中发生数据操作语言(Data Manipulation Language)事件时执行的存储过程. DML 触发器又分为两类:After 触发器和Instead Of 触发器 ○1 .After 触发器:这类触发器是在记录已经改变完之后(after),才会被激活执行,它主要是用于记录变更后的处理或检查,一旦发现错误,也可以用RollbackTrans

49. SQL- 触发器之DML 触发器(2)

其它AFTER触发器操作 设置After 触发器的激活顺序 对于同一个操作,如Insert.Update 或Delete来说,可以建立多个After Insert 触发器,如以下DEMO,已经建立了一个名为―orders_Insert|的触发器,输出一句友好提示"又添加了一种产品":之后再建立一个After Insert 触发器,作用也是输出一句友好提示,提示内容为:―再一次告诉你,你又添加了一种产品|. --1.创建2个触发器 CREATETRIGGER orders_Insert

DML触发器

数据库触发器是特殊的存储程序.通常不直接调用它们,而是由数据库的事件触发. 触发器分类: >DML触发器 >instead-of触发器 >系统事件触发器,还可以是DDL 一. DML触发器 在数据库上执行insert,update,delete时,DML触发器会被激活. 种类 值                 说明 语句 insert,update,delete  定义导致激活触发器的类型 激活时间 before,after         什么时候执行 级别 行级,语句级