实时

您的位置:首页>企业 >

前沿热点:sql触发器的使用及语法知识 sql触发器的使用及语法

今天来聊聊关于sql触发器的使用及语法知识,sql触发器的使用及语法的文章,现在就为大家来简单介绍下sql触发器的使用及语法知识,sql触发器的使用及语法,希望对各位小伙伴们有所帮助。


【资料图】

1、CREATE TRIGGER 创建触发器,触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。

2、Microsoft® SQL Server™ 允许为任何给定的 INSERT、UPDATE 或 DELETE 语句创建多个触发器。

3、 语法 CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS [ { IF UPDATE ( column ) [ { AND | OR } UPDATE ( column ) ] [ ...n ] | IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask ) { comparison_operator } column_bitmask [ ...n ] } ] sql_statement [ ...n ] } } 参数 trigger_name 是触发器的名称。

4、触发器名称必须符合标识符规则,并且在数据库中必须唯一。

5、可以选择是否指定触发器所有者名称。

6、 Table | view 是在其上执行触发器的表或视图,有时称为触发器表或触发器视图。

7、可以选择是否指定表或视图的所有者名称。

8、 WITH ENCRYPTION 加密 syscomments 表中包含 CREATE TRIGGER 语句文本的条目。

9、使用 WITH ENCRYPTION 可防止将触发器作为 SQL Server 复制的一部分发布。

10、 AFTER 指定触发器只有在触发 SQL 语句中指定的所有操作都已成功执行后才激发。

11、所有的引用级联操作和约束检查也必须成功完成后,才能执行此触发器。

12、 如果仅指定 FOR 关键字,则 AFTER 是默认设置。

13、 不能在视图上定义 AFTER 触发器。

14、 INSTEAD OF 指定执行触发器而不是执行触发 SQL 语句,从而替代触发语句的操作。

15、 在表或视图上,每个 INSERT、UPDATE 或 DELETE 语句最多可以定义一个 INSTEAD OF 触发器。

16、然而,可以在每个具有 INSTEAD OF 触发器的视图上定义视图。

17、 INSTEAD OF 触发器不能在 WITH CHECK OPTION 的可更新视图上定义。

18、如果向指定了 WITH CHECK OPTION 选项的可更新视图添加 INSTEAD OF 触发器,SQL Server 将产生一个错误。

19、用户必须用 ALTER VIEW 删除该选项后才能定义 INSTEAD OF 触发器。

20、 { [DELETE] [,] [INSERT] [,] [UPDATE] } 是指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。

21、必须至少指定一个选项。

22、在触发器定义中允许使用以任意顺序组合的这些关键字。

23、如果指定的选项多于一个,需用逗号分隔这些选项。

24、 对于 INSTEAD OF 触发器,不允许在具有 ON DELETE 级联操作引用关系的表上使用 DELETE 选项。

25、同样,也不允许在具有 ON UPDATE 级联操作引用关系的表上使用 UPDATE 选项。

26、 WITH APPEND 指定应该添加现有类型的其它触发器。

27、只有当兼容级别是 65 或更低时,才需要使用该可选子句。

28、如果兼容级别是 70 或更高,则不必使用 WITH APPEND 子句添加现有类型的其它触发器(这是兼容级别设置为 70 或更高的 CREATE TRIGGER 的默认行为)。

29、有关更多信息,请参见 sp_dbcmptlevel。

30、 WITH APPEND 不能与 INSTEAD OF 触发器一起使用,或者,如果显式声明 AFTER 触发器,也不能使用该子句。

31、只有当出于向后兼容而指定 FOR 时(没有 INSTEAD OF 或 AFTER),才能使用 WITH APPEND。

32、以后的版本将不支持 WITH APPEND 和 FOR(将被解释为 AFTER)。

33、 NOT FOR REPLICATION 表示当复制进程更改触发器所涉及的表时,不应执行该触发器。

34、 AS 是触发器要执行的操作。

35、 sql_statement 是触发器的条件和操作。

36、触发器条件指定其它准则,以确定 DELETE、INSERT 或 UPDATE 语句是否导致执行触发器操作。

37、 当尝试 DELETE、INSERT 或 UPDATE 操作时,Transact-SQL语句中指定的触发器操作将生效。

38、 触发器可以包含任意数量和种类的 Transact-SQL 语句。

39、触发器旨在根据数据修改语句检查或更改数据;它不应将数据返回给用户。

40、触发器中的 Transact-SQL 语句常常包含控制流语言。

41、CREATE TRIGGER 语句中使用几个特殊的表: deleted 和 inserted 是逻辑(概念)表。

42、这些表在结构上类似于定义触发器的表(也就是在其中尝试用户操作的表);这些表用于保存用户操作可能更改的行的旧值或新值。

43、例如,若要检索 deleted 表中的所有值,请使用: SELECT * FROM deleted 如果兼容级别等于 70,那么在 DELETE、INSERT 或 UPDATE 触发器中,SQL Server 将不允许引用 inserted 和 deleted 表中的 text、ntext 或 image 列。

44、不能访问 inserted 和 deleted 表中的 text、ntext 和 image 值。

45、若要在 INSERT 或 UPDATE 触发器中检索新值,请将 inserted 表与原始更新表联接。

46、当兼容级别是 65 或更低时,对 inserted 或 deleted 表中允许空值的text、ntext 或 image 列,将返回空值;如果这些列不可为空,则返回零长度字符串。

47、 当兼容级别是 80 或更高时,SQL Server 允许在表或视图上通过 INSTEAD OF 触发器更新 text、ntext 或 image 列。

48、 n 是表示触发器中可以包含多条 Transact-SQL 语句的占位符。

49、对于 IF UPDATE (column) 语句,可以通过重复 UPDATE (column) 子句包含多列。

50、 IF UPDATE (column) 测试在指定的列上进行的 INSERT 或 UPDATE 操作,不能用于 DELETE 操作。

51、可以指定多列。

52、因为在 ON 子句中指定了表名,所以在 IF UPDATE 子句中的列名前不要包含表名。

53、若要测试在多个列上进行的 INSERT 或 UPDATE 操作,请在第一个操作后指定单独的 UPDATE(column) 子句。

54、在 INSERT 操作中 IF UPDATE 将返回 TRUE 值,因为这些列插入了显式值或隐性 (NULL) 值。

55、 说明 IF UPDATE (column) 子句的功能等同于 IF、IF...ELSE 或 WHILE 语句,并且可以使用 BEGIN...END 语句块。

56、有关更多信息,请参见控制流语言。

57、 可以在触发器主体中的任意位置使用 UPDATE (column)。

58、 column 是要测试 INSERT 或 UPDATE 操作的列名。

59、该列可以是 SQL Server 支持的任何数据类型。

60、但是,计算列不能用于该环境中。

61、有关更多信息,请参见数据类型。

相信通过sql触发器的使用及语法这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。

本文由用户上传,如有侵权请联系删除!

关键词:

推荐阅读
今天来聊聊关于sql触发器的使用及语法知识,sql触发器的使用及语法的文章,现在就为大家来简单介绍下sql触发器的使用及

2023-04-21 19:07:14

东方精工(SZ002611,收盘价:5 07元)4月21日晚间发布一季度业绩公告称,2023年第一季度营收约9 07亿元,同比增加42 62%;归属于上市公司股东

2023-04-21 18:55:20

青海掀起春季义务植树高潮今年计划义务植树1500万株

2023-04-21 18:30:03

1、(1)看景色,想造型。当您得到管线图时,首先确保有几个视图显示管线的形状和方向。然后分析视图之间的对应关系,大致想象

2023-04-21 18:34:29

http: vod cyol com vod data video 202304 21 6ed77d3d-5ce4-4

2023-04-21 18:19:49

8个中的第1个试试这7种美味的砂锅食谱砂锅是满足任何情况的一餐。当您知道一天会特别忙时,请提前制作一个,并在您

2023-04-21 18:25:34

UDX阻力位置:102 10 30支持位置:101 50 70预计日内101 50 70-102 10 30区域内区间震荡为主14号观点:预计本月后两周时间依托100 80附近的支持震

2023-04-21 17:25:23

5月17日正式施行山东出台消费品召回管理办法

2023-04-21 17:25:41

小米手环8延续了前代椭圆形药丸表身设计,机身采用金属质感亮面处理,配有窄边框1 62英寸“跑道屏”。最大变化是在表带上,不再是内嵌方案,采

2023-04-21 17:04:28

中国青年报客户端讯(中青报·中青网记者沈杰群)日前,职业竞技真人秀《手艺人大会·发型师季》在浙江卫视和Z视介客户端播出。节目以发型师为

2023-04-21 17:20:59

病理科党支部工作计划第1篇作为一名外科医生,本着为病人服务,对医院负责的态度,针对接下来的医疗工作,特制定工作计划如下:一、总体目标(

2023-04-21 16:17:09

4月21日至22日,由中央网信办、人民日报社、江苏省委网信委联合主办,以“建设全媒体传播体系塑造主流舆论新格局”为主题的2023中国网络媒体论

2023-04-21 16:22:08

01:52成都大运会迎来倒计时100天,这次我们用沉浸式真人游戏体验的方式,跟你一起倒计时!103、102、101、10

2023-04-21 16:02:51

凯盛科技(600552)04月21日在投资者关系平台上答复了投资者关心的问题。

2023-04-21 14:39:14

突然火爆的淄博烧烤一下子把淄博推成了“顶流”。作为一座老工业城市,近年来经济社会发展有何新变化?老牌大城市加快转身山东淄博近现代工业

2023-04-21 14:48:44

据新华社电记者20日从教育部获悉,教育部近日印发《关于推开教职员工准入查询工作的通知》,就依法推开准入查询制度,严格

2023-04-21 14:28:47

用真情传承爱的种子

2023-04-21 14:23:18

我省推进工业互联网企业分类分级管理去年共有123家企业参与,数量居

2023-04-21 14:28:34

2022~2023年佛山顺德五险一金缴费基数是多少?2023佛山顺德社保最低缴费基数及缴费比例多少?2022~2023佛山顺德个人社保要交多少钱一个月?社

2023-04-21 13:16:01

从愚公移山式的求生存,到“困难地”造林求生态和谐,从矿山治理到生态修复,济源的历史遗留矿山变成了林有果、地有粮、滩有鸟、水有鱼的生态

2023-04-21 13:12:31