`
jyangzi5
  • 浏览: 212210 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

浅谈数据库触发器

 
阅读更多
触发器

  其是一种特殊的存储过程。一般的存储过程是通过存储过程名直接调用,而触发器主要是

  通过事件(增、删、改)进行触发而被执行的。其在表中数据发生变化时自动强制执行。

  常见的触发器有两种: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元

 

分享到:
评论

相关推荐

    浅谈SOL SERVER数据库触发器及应用.pdf

    触发器在SQL Server数据库中属于一种特殊的存储过程,用于在对表数据执行插入、更新或删除操作时自动触发执行。触发器的作用主要体现在以下几个方面: 1. 强制执行业务规则:触发器可以帮助数据库管理员确保在...

    浅谈SQL Server触发器之使用.pdf

    SQL Server触发器是一种特殊类型的存储过程,它会...通过文档《浅谈SQL Server触发器之使用.pdf》的详细阐述,我们可以更好地理解触发器的概念、结构和应用场景,为我们在数据库设计和维护工作中提供专业的指导和帮助。

    浅谈SQL Server触发器功能与应用技巧.pdf

    触发器是数据库系统中重要的功能组件,尤其在SQL Server这类关系型数据库管理系统中,触发器承担着维护数据完整性和实施业务逻辑的关键作用。触发器可以视为特殊类型的存储过程,它不是由用户直接调用执行,而是自动...

    浅谈SQL Server 2000触发器.pdf

    在数据库管理系统中,触发器是一种特殊类型的存储过程,它会自动执行一系列T-SQL语句,以响应对数据库表中的记录的插入、更新或删除操作。触发器通常用于加强数据完整性、数据验证或业务规则。本文将详细介绍SQL ...

    浅谈基本触发器的逻辑结构和工作原理

    发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根据客户当前的帐户...在数据库操作中,我们可以通过关系、触发器、存储过程、应用程序等来实现数据操作

    浅谈MIS开发中对Oracle触发器的应用.pdf

    在管理信息系统(MIS)的开发过程中,Oracle数据库的触发器是一个强大的工具,它允许开发者在特定事件发生时自动执行一系列操作,从而增强系统的功能和数据安全性。本文主要探讨了Oracle触发器的基础概念、类型,...

    浅谈数据库性能优化

    浅谈数据库性能优化 1.truncate、delete、drop的区别 truncate和delete只能删除数据,不删除表的结构。drop语句将删除表的结构,包括被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的的...

    基础电子中的浅谈基本触发器的逻辑结构和工作原理

    发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根据客户当前的帐户状态,...在数据库操作中,我们可以通过关系、触发器、存储过程、应用程序等来实现数据

    浅谈Oracle数据库性能调优 (2).pdf

    【Oracle 数据库性能调优】 Oracle数据库性能调优是一个DBA(数据库管理员)的重要任务,其目的是提升数据库的运行效率,降低存储空间占用,并优化查询性能。本文将围绕Oracle数据库的性能优化方法展开讨论,主要关注...

    浅谈oracle 数据库的绑定变量特性及应用

    - **PL/SQL块**:在Oracle的存储过程、函数和触发器中,也可以使用绑定变量来提高代码的复用性和性能。 - **数据导入导出工具**:如SQL*Loader和Data Pump等工具,允许使用绑定变量进行大规模数据的批量操作。 3....

    浅谈Sql Server数据库数据完整性.pdf

    SQL Server提供了规则(Rule)、约束(Constraint)和触发器(Trigger)来帮助实现用户定义的完整性。 在SQL Server中,数据完整性约束的实现可以通过创建数据库和表来举例说明。例如,在创建一个“学生管理数据库”的...

    浅谈高职oracle数据库教学中的几点改进.pdf

    在教学中,Oracle数据库的知识点包括SQL查询语言、数据库设计(如ER模型)、表空间管理、索引创建、存储过程与函数、触发器、游标、事务控制、备份与恢复策略等。 【关系型数据库】关系型数据库是基于关系理论的...

    浅谈SQL Server数据库的特点和基本功能.pdf

    4. 触发器:触发器是存储在数据库中的特殊类型的存储过程,它们在特定的数据操作事件发生时自动执行,如INSERT、UPDATE或DELETE。 5. 事务处理:SQL Server提供了对事务的支持,事务处理确保了数据的一致性和完整性...

    浅谈SQL Server数据库中存储过程的应用——以电子交易系统为例.pdf

    本文以大宗商品现货电子交易系统为例,探讨了SQL Server数据库存储过程的应用,以及触发器技术在电子交易系统中的运用。 首先,介绍SQL Server数据库系统。Microsoft SQL Server是一款可扩展、高性能的关系型数据库...

    浅谈超大型Oracle数据库的基础设计和优化设计.pdf

    数据库对象则包含了表、索引、序列、视图、触发器、存储过程、函数和包等元素,这些对象在逻辑上是相互关联的。 其次,Oracle的程序结构由内存结构、进程结构和文件结构三个主要部分构成。内存结构中,系统全局区...

    浅谈MySQL中的触发器

    在很多时候,干得利索不如想的明白。方案应该根据场景来设计,不是盲目的依靠经验,当然这也算新... 先前已经把线上邮箱用户表同步到内网,可以做数据库复制,可论坛和邮箱的数据库字段有较大出入,还是要改大量代码

    浅谈应用程序从SQL Server向神通数据库的移植.pdf

    对于国产神通数据库而言,程序员需要熟悉其提供的内置函数、视图、存储过程、触发器等高级功能,以便有效利用这些工具优化应用程序性能。 9. 安全封装类 安全封装类是提高应用程序和数据库管理系统之间独立性的重要...

    浅谈数据库中的完整性约束 (2011年)

    DBMS通常还会提供触发器(TRIGGERS)和存储过程(STORED PROCEDURES)来实现更复杂的约束逻辑。 另外,数据库的完整性除了通过DBMS实现外,还可以通过应用程序逻辑来实现。在某些情况下,业务规则较为复杂,或者...

    浅谈Quartz(WEB)

    这篇博客文章“浅谈Quartz(WEB)”可能探讨了如何在Web应用中集成和使用Quartz。 首先,Quartz的核心概念包括作业(Job)、触发器(Trigger)和调度器(Scheduler)。作业是实际要执行的任务,触发器则定义了何时...

Global site tag (gtag.js) - Google Analytics