当前位置:首页 » 编程语言 » sql2012触发器
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql2012触发器

发布时间: 2023-01-24 07:23:10

sql触发器的种类

楼主,你好!
触发器的种类
有:
SQL
Server
2000
支持两种类型的触发器:AFTER
触发器和INSTEAD
OF
触发器。其中AFTER
触发器即为SQL
Server
2000
版本以前所介绍的触发器。该类型触发器要求只有执行某一操作(INSERT
UPDATE
DELETE)
之后,触发器才被触发,且只能在表上定义。可以为针对表的同一操作定义多个触发器。对于AFTER
触发器,可以定义哪一个触发器被最先触发,哪一个被最后触发,通常使用系统过程sp_settriggerorder
来完成此任务。
INSTEAD
OF
触发器表示并不执行其所定义的操作(INSERT、
UPDATE、
DELETE),而仅是执行触发器本身。既可在表上定义INSTEAD
OF
触发器,也可以在视图上定义INSTEAD
OF
触发器,但对同一操作只能定义一个INSTEAD
OF
触发器
希望能帮助到你!

Ⅱ sql server2012如何建立触发器

  • 首先你当然要有一个数据库了,这里我使用自己创建的数据库booksDB。

    在数据库booksDB上创建触发器,右击触发器->新建触发器,打开之后的界面如下所示

  • 6

    数据库的增删改查类似

Ⅲ 谁知道在SQL中什么是触发器,有什么作用

触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。
CREATE PROCEDURE 或 CREATE TRIGGER 语句不能跨越批处理。即存储过程或触发器始终只能在一个批处理中创建并编译到一个执行计划中。
用触发器还可以强制执行业务规则
Microsoft® SQL Server64 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器。触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效。唤醒调用触发器以响应 INSERT、UPDATE 或 DELETE 语句。触发器可以查询其它表,并可以包含复杂的 Transact-SQL 语句。将触发器和触发它的语句作为可在触发器内回滚的单个事务对待。如果检测到严重错误(例如,磁盘空间不足),则整个事务即自动回滚。
触发器的优点如下:
触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改。
触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束。
与CHECK 约束不同,触发器可以引用其它表中的列。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。
触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。
一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。
比较触发器与约束
约束和触发器在特殊情况下各有优势。触发器的主要好处在于它们可以包含使用 Transact-SQL 代码的复杂处理逻辑。因此,触发器可以支持约束的所有功能;但它在所给出的功能上并不总是最好的方法。
实体完整性总应在最低级别上通过索引进行强制,这些索引或是 PRIMARY KEY 和 UNIQUE 约束的一部分,或是在约束之外独立创建的。假设功能可以满足应用程序的功能需求,域完整性应通过 CHECK 约束进行强制,而引用完整性 (RI) 则应通过 FOREIGN KEY 约束进行强制。
在约束所支持的功能无法满足应用程序的功能要求时,触发器就极为有用。例如:
除非REFERENCES 子句定义了级联引用操作,否则 FOREIGN KEY 约束只能以与另一列中的值完全匹配的值来验证列值。
CHECK 约束只能根据逻辑表达式或同一表中的另一列来验证列值。