网站建设解决方,wordpress没有图形界面,天津狐臭在哪里做津门网站I,莱芜网站建设案例前言 前面关系数据库SQL之可编程性函数#xff08;用户自定义函数#xff09;一文提到关系型数据库提供了可编程性的函数、存储过程、事务、触发器及游标#xff0c;前文已介绍了函数、存储过程、事务#xff0c;本文来介绍一下触发器的使用。(还是以前面的银行系统为例) 概…前言 前面关系数据库SQL之可编程性函数用户自定义函数一文提到关系型数据库提供了可编程性的函数、存储过程、事务、触发器及游标前文已介绍了函数、存储过程、事务本文来介绍一下触发器的使用。(还是以前面的银行系统为例) 概述 触发器TRIGGER是个特殊的存储过程它的执行不是由程序调用也不是手工启动而是由事件来触发比如当对一个表进行操作 INSERTDELETE UPDATE时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS USER_TRIGGERS 数据字典中查到。 触发器分为两种AFTER触发器和INSTEAD OF触发器。 语法 创建触发器CREATE TRIGGER 触发器名称 ON 表名|视图名 [AFTER | INSTEAD OF] INSERT,DELETE,UPDATE
AS
--SQL语句块 修改触发器ALERT TRIGGER 触发器名称 ON 表名|视图名 [AFTER | INSTEAD OF] INSERT,DELETE,UPDATE
AS
--SQL语句块 删除触发器DROP TRIGGER 触发器名称 说明 AFTER触发器主要用于在数据表执行INSERTDELETE UPDATE操作之后同时操作其他表。INSTEAD OF触发器会替代所要执行的SQL语句也就是说所要执行SQL并不会真正执行真正执行的是触发器中定义的操作。AFTER触发器只针对表操作INSTEAD OF触发器除了操作表还可以作用于视图扩展视图可以支持的更新操作。AFTER触发器是在执行SQL之后触发而INSTEAD OF触发器是在执行SQL之前触发。一个表的INSERTDELETE UPDATE操作可以有多个AFTER触发器有至多一个INSTEAD OF触发器。特殊表 触发器有两个特殊的表插入表instered表和删除表deleted表 示例 1.AFTER触发器示例 在取钱时交易信息表里面插入交易信息同时要更改账户表里面的余额 --创建触发器
CREATE TRIGGER Trigger_getMoney ON TransInfo AFTER INSERT
AS
declare cardId varchar(19)
declare tranMoney money
select cardId CardID , tranMoney TransMoney from instered;
update CardInfo set LeftMoney LeftMoney - tranMoney where CardID cardId
GO--执行插入操作
insert into TransInfo values(1324 3626 7532 1935,取款,500,default); 2.INSTEAD OF触发器 指定的账户422322001550135015不可以删除 --创建触发器
CREATE TRIGGER Trigger_deleteAccount ON AccountInfo INSTEAD OF DELETE
AS
delete from AccountInfo where CardID ! 422322001550135015 AND CardID(select CardID from deleted)
--执行删除操作 本文就介绍到这里。 如有疑问请联系我。 原文来自:简书 转载于:https://www.cnblogs.com/seayxu/p/5500066.html