问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

on-clear-details触发器什么时候执行

发布网友 发布时间:2022-04-22 08:20

我来回答

2个回答

热心网友 时间:2023-06-22 17:31

1.如果我更改了学生的学号,我希望他的借*录仍然与这个学生相关(也就是同时更改借*录表的学号);

2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借*录。这时候可以用到触发器。

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。

触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。      数据库领域名词    触发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强*从复杂的业务规则或要求。例如:您可以根据客户当前的帐户状态,控制是否允许插入新订单。

触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。

热心网友 时间:2023-06-22 17:32

定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
常见的触发器有三种:分别应用于Insert , Update , Delete 事件。(SQL Server 2000定义了新的触发器,这里不提)

我为什么要使用触发器?比如,这么两个表:

Create Table Student( --学生表
StudentID int primary key, --学号
....
)

Create Table BorrowRecord( --学生借*录表
BorrowRecord int identity(1,1), --流水号
StudentID int , --学号
BorrowDate datetime, --借出时间
ReturnDAte Datetime, --归还时间
...
)

用到的功能有:
1.如果我更改了学生的学号,我希望他的借*录仍然与这个学生相关(也就是同时更改借*录表的学号);
2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借*录。
等等。

这时候可以用到触发器。对于1,创建一个Update触发器:

Create Trigger truStudent
On Student --在Student表中创建触发器
for Update --为什么事件触发
As --事件触发后所要做的事情
if Update(StudentID)
begin

Update BorrowRecord
Set StudentID=i.StudentID
From BorrowRecord br , Deleted d ,Inserted i --Deleted和Inserted临时表
Where br.StudentID=d.StudentID

end

理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。 一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是:
虚拟表Inserted 虚拟表Deleted在表记录新增时 存放新增的记录 不存储记录
修改时 存放用来更新的新记录 存放更新前的记录
删除时 不存储记录 存放被删除的记录
一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。

对于2,创建一个Delete触发器
Create trigger trdStudent
On Student
for Delete
As
Delete BorrowRecord
From BorrowRecord br , Delted d
Where br.StudentID=d.StudentID

从这两个例子我们可以看到了触发器的关键:A.2个临时的表;B.触发机制。
这里我们只讲解最简单的触发器。复杂的容后说明。
事实上,我不鼓励使用触发器。触发器的初始设计思想,已经被“级联”所替代
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 detail形容词是什么? details和information的区别? in principle 和on principle的用法有什么不同 是用in details作方式状语还是用in detail 作状语?... 翻译: 英语高手请进, 英语作文success,dends,on,details 翻译:I'll fill you in on the details 怎么翻译“细节决定成败” 汗菜的立体种植方法 别名雁来红的苋菜种子种植方法有哪些 怎样清理胶 怎样用无土栽培的方法种苋菜 苋菜盆栽怎么种植方法 巴林第纳尔的介绍 胶渍如何清洗? 我们的巴林的介绍 有没有在中东的朋友,帮我介绍一下巴林这个国家 巴林事件的介绍 巴林岛的介绍 巴林国家足球队的介绍 “on request”是什么意思? go into details是什么意思 请大神帮忙说说这个定语从句用法,主语都找不到。... I am checking up the details on my phone?为什么... 新世纪大学英语(第二版)综合教程3课后习题答案完整... 谁可以帮我讲这段文字翻译成中文啊?谢谢各位了!!! html5 如何通过另外一个按钮来触发details 如何使用details元素和summary元素 2017年38岁属什么了? 这隋唐英雄第三部为什么没就没前两部好看呢,是为... 《西游记》中所有神仙列表 把刺猬的刺剪掉,它会死吗?或者会造成什么伤害? 套路网贷平台有哪些 套路贷的基本模式有哪些 疯狂“套路贷”引发刑事犯罪,“套路贷”都投什么套路? 你知道哪些小额贷款公司的套路? “套路贷”都有哪些套路? 《西游记》中,所有的神仙名有哪些? 金融公司贷款有哪些套路 《英雄杀》各个人物的技能口诀和死的口诀是什么?