触发器定义

 
触发器定义:
它是一种类型独特的过程,非常类似C#中的事件。asp.net中,当点击一个按钮,就会触发相应事件。触发器与数据库表相关联,当表中内容发生如下特殊变化时,触发器就会被触发。1:insert;2:update;3:delete。

说明:本文只探讨after触发器,至于instead-of触发器不在本文讨论范围之内。after触发器的语法我也略过,重点分享下在应用触发器时应该注意的地方。

第一:触发器不会对每条记录都触发一次。例如我们在一次事务中更新或者删除了一条以上的记录,触发器只会触发一次,但能正常反映所有受影响的行。

第二:使用触发器一定要清楚两个虚似表:               
1:inserted,事务中被插入的所有记录。          
2:deleted,事务中被删除的所有记录。          
说明:数据库中不存在updated表,因为数据的更新是先删除然后插入的过程。有了上面两个虚似表,我们就可以在受影响的行上做其它操作,例如在录入积分酒店数据后,利用inserted中的数据信息来更新本记录的某些字段值。

时间: 2024-10-28 23:42:00

触发器定义的相关文章

MySQL触发器定义及其优缺点

SQL触发器是一种特殊类型的存储过程. 这是特别的,因为它不像直接像存储过程那样调用. 触发器和存储过程之间的主要区别在于,当对表执行数据修改事件时,会自动调用触发器,而存储过程必须要明确地调用. 1, SQL触发器的优点 SQL触发器提供了检查数据完整性的替代方法.SQL触发器可以捕获数据库层中业务逻辑中的错误.SQL触发器提供了运行计划任务的另一种方法.通过使用SQL触发器,您不必等待运行计划的任务,因为在对表中的数据进行更改之前或之后自动调用触发器.SQL触发器对于审核表中数据的更改非常有

数据库之——索引、触发器、事务(存储引擎)

一. 数据库 数据库(DataBase)是按照数据结构来组织.存储和管理数据的仓库.其主要特点有如下几个方面: 实现数据共享 数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享: 减少数据的冗余度 同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件.减少了大量重复数据,减少了数据冗余,维护了数据的一致性: 数据的独立性 数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变

数据库级触发器

CREATE TABLE [dbo].[DDLEvents]( [EventDate] [DATETIME] NOT NULL CONSTRAINT [DF__DDLEvents__Event__6ED7E1DA] DEFAULT (GETDATE()), [EventType] [NVARCHAR](64) NULL, [EventDDL] [NVARCHAR](MAX) NULL, [EventXML] [XML] NULL, [DatabaseName] [NVARCHAR](255) N

数据库 --- 索引、触发器、事务(存储引擎)

一.数据库  -----   按照数据结构来组织.存储和管理数据的仓库 主要特点: 实现数据共享: 减少数据的冗余度: 数据的独立性: 数据实现集中控制: 数据一致性和可维护性,以确保数据的安全性和可靠性: 故障恢复. 二.其他相关 1.索引:作用于表中的某列,并将其进行排序,有助于快速地进行查询. 索引是对数据库表中一个或多个列的值进行排序的数据结构,是用于提高在数据库表中访问数据的速度的数据库对象.其实索引相当于一本书的目录,如果没有索引,要想在数据库中查找某一特定的值就需要遍历整个数据库表

浅谈 Sql Server 触发器

一.触发器概念 1.1.触发器特征         1.1.1.触发器是在对表进行增.删.改时,自动执行的存储过程.触发器常用于强制业务规则,它是一种高级约束,通过事件进行触发而被执行.         1.1.2.触发器是一个特殊的事务单元,可以引用其他表中的列执行特殊的业务规则或数据逻辑关系.当出现错误时,可以执行rollback transaction操作将整个触发器以及触发它的T-SQL语句一并回滚(不需显示声明begin transaction).         1.1.3.每个触发

sqlserver暂时禁用触发器进行update

1 --1.禁用某个表上的所有触发器 2 ALTER TABLE tbname DISABLE TRIGGER all 3 go 4 --2.执行update语句 5 update tbname set .... 6 go 7 --3.恢复某个表上的所有触发器 8 ALTER TABLE tbname ENABLE TRIGGER all 9 go 触发器定义:就是给前期设计擦屁股的东西. 前期设计乱吃东西吃坏肚子了,然后又舍不得动手术,放任拉肚子,拉完之后,拿出触发器把屁股一擦,干净了.

sqlserver的触发器练习实例

触发器的概念:它是由事件驱动的,就像java中的监听,当某个事件发生了,就会做一些工作. 下面直接上干货,创建insert触发器.delete触发器.DDL触发器和如何查看触发器定义 1.创建三个表学生表.班级表.课程表 create database student_score GO --在数据库中创建三个表学生表.班级表.课程表的结构 use student_score GO create table student ( stu_id char(8) primary key, stu_nam

mysql 查询表,视图,触发器,函数,存储过程

1. mysql查询所有表: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND  TABLE_TYPE ='BASE TABLE' mysql查询建表语句: show create table `表名` 2.mysql查询所有视图: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名'

mysql中索引,触发器,事务,存储引擎的理解

1.索引:作用于表中的某列,并将其进行排序,有助于快速地进行查询. 索引是对数据库表中一个或多个列的值进行排序的数据结构,是用于提高在数据库表中访问数据的速度的数据库对象.其实索引相当于一本书的目录,如果没有索引,要想在数据库中查找某一特定的值就需要遍历整个数据库表,但是有了索引之后就可以在索引当中查找,有助于更快地获取信息: 索引可分为聚集索引和非聚集索引: 聚集索引:是按照数据存放的物理位置为顺序的: 非聚集索引中,表数据存储顺序与索引顺序无关:一张表上只能创建一个聚集索引,因为真实数据的物