其是一种特殊的存储过程。一般的存储过程是通过存储过程名直接调用,而触发器主要是
通过事件(增、删、改)进行触发而被执行的。其在表中数据发生变化时自动强制执行。
常见的触发器有两种:after(for)、instead of,用于insert、update、delete事件。
after(for) 表示执行代码后,执行触发器
instead of 表示执行代码前,用已经写好的触发器代替你的操作
触发器语法:
create trigger 触发器的名字 on 操作表
for|after instead of
update|insert|delete
as
SQL语句
触发器实现原理图
触发器示例
Example1
--禁止用户插入数据(实际上是先插入,然后立刻将其删除!)
create trigger tr_insert on bank
for --for表示执行之后的操作
insert --即先执行了插入操作,同时在临时表中保存了插入记录
as
--执行完插入之后,在新生成的表中将刚刚插入的那条记录删除,
--而此时得到的刚刚插入的记录的id是通过临时表 inserted得到的
delete * from bank where cid=(select cid from inserted)
生成上面的触发器后,当用户再输入insert语句后就见不到效果了!
如:insert into bank values('0004',10000),是插入不进数据库的。
Example2
--删除谁就让谁的账户加上10元
create trigger tr_dalete on bank
instead of
delete
as
update bank balance=balance+10 where cid=(select cid from deleted)
生成这个触发器之后,当用户输入delete语句后,对应的那个id不但没有被删除掉,而且他的账户增加了10元
如:delete from bank where cid='0002',执行完这句话后,编号为0002的账户会增加10元
相关推荐
触发器在SQL Server数据库中属于一种特殊的存储过程,用于在对表数据执行插入、更新或删除操作时自动触发执行。触发器的作用主要体现在以下几个方面: 1. 强制执行业务规则:触发器可以帮助数据库管理员确保在...
SQL Server触发器是一种特殊类型的存储过程,它会...通过文档《浅谈SQL Server触发器之使用.pdf》的详细阐述,我们可以更好地理解触发器的概念、结构和应用场景,为我们在数据库设计和维护工作中提供专业的指导和帮助。
触发器是数据库系统中重要的功能组件,尤其在SQL Server这类关系型数据库管理系统中,触发器承担着维护数据完整性和实施业务逻辑的关键作用。触发器可以视为特殊类型的存储过程,它不是由用户直接调用执行,而是自动...
在数据库管理系统中,触发器是一种特殊类型的存储过程,它会自动执行一系列T-SQL语句,以响应对数据库表中的记录的插入、更新或删除操作。触发器通常用于加强数据完整性、数据验证或业务规则。本文将详细介绍SQL ...
发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根据客户当前的帐户...在数据库操作中,我们可以通过关系、触发器、存储过程、应用程序等来实现数据操作
在管理信息系统(MIS)的开发过程中,Oracle数据库的触发器是一个强大的工具,它允许开发者在特定事件发生时自动执行一系列操作,从而增强系统的功能和数据安全性。本文主要探讨了Oracle触发器的基础概念、类型,...
浅谈数据库性能优化 1.truncate、delete、drop的区别 truncate和delete只能删除数据,不删除表的结构。drop语句将删除表的结构,包括被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的的...
发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根据客户当前的帐户状态,...在数据库操作中,我们可以通过关系、触发器、存储过程、应用程序等来实现数据
【Oracle 数据库性能调优】 Oracle数据库性能调优是一个DBA(数据库管理员)的重要任务,其目的是提升数据库的运行效率,降低存储空间占用,并优化查询性能。本文将围绕Oracle数据库的性能优化方法展开讨论,主要关注...
- **PL/SQL块**:在Oracle的存储过程、函数和触发器中,也可以使用绑定变量来提高代码的复用性和性能。 - **数据导入导出工具**:如SQL*Loader和Data Pump等工具,允许使用绑定变量进行大规模数据的批量操作。 3....
SQL Server提供了规则(Rule)、约束(Constraint)和触发器(Trigger)来帮助实现用户定义的完整性。 在SQL Server中,数据完整性约束的实现可以通过创建数据库和表来举例说明。例如,在创建一个“学生管理数据库”的...
在教学中,Oracle数据库的知识点包括SQL查询语言、数据库设计(如ER模型)、表空间管理、索引创建、存储过程与函数、触发器、游标、事务控制、备份与恢复策略等。 【关系型数据库】关系型数据库是基于关系理论的...
4. 触发器:触发器是存储在数据库中的特殊类型的存储过程,它们在特定的数据操作事件发生时自动执行,如INSERT、UPDATE或DELETE。 5. 事务处理:SQL Server提供了对事务的支持,事务处理确保了数据的一致性和完整性...
本文以大宗商品现货电子交易系统为例,探讨了SQL Server数据库存储过程的应用,以及触发器技术在电子交易系统中的运用。 首先,介绍SQL Server数据库系统。Microsoft SQL Server是一款可扩展、高性能的关系型数据库...
数据库对象则包含了表、索引、序列、视图、触发器、存储过程、函数和包等元素,这些对象在逻辑上是相互关联的。 其次,Oracle的程序结构由内存结构、进程结构和文件结构三个主要部分构成。内存结构中,系统全局区...
在很多时候,干得利索不如想的明白。方案应该根据场景来设计,不是盲目的依靠经验,当然这也算新... 先前已经把线上邮箱用户表同步到内网,可以做数据库复制,可论坛和邮箱的数据库字段有较大出入,还是要改大量代码
对于国产神通数据库而言,程序员需要熟悉其提供的内置函数、视图、存储过程、触发器等高级功能,以便有效利用这些工具优化应用程序性能。 9. 安全封装类 安全封装类是提高应用程序和数据库管理系统之间独立性的重要...
DBMS通常还会提供触发器(TRIGGERS)和存储过程(STORED PROCEDURES)来实现更复杂的约束逻辑。 另外,数据库的完整性除了通过DBMS实现外,还可以通过应用程序逻辑来实现。在某些情况下,业务规则较为复杂,或者...
这篇博客文章“浅谈Quartz(WEB)”可能探讨了如何在Web应用中集成和使用Quartz。 首先,Quartz的核心概念包括作业(Job)、触发器(Trigger)和调度器(Scheduler)。作业是实际要执行的任务,触发器则定义了何时...