触发器解析
来源:互联网 发布:g76编程实例图文解说 编辑:程序博客网 时间:2024/06/15 08:51
表结构如下
SELECT TOP 1000 [id]
,[cardID]
,[currentMoney]
FROM [pubs].[dbo].[bank]
SELECT TOP 1000 [id]
,[transType]
,[transMoney]
,[cardID]
FROM [pubs].[dbo].[bank_czmoney]
一、创建插入
CREATE trigger [dbo].[trig_bank_insert] on [dbo].[bank_czmoney]
for insert
as
declare @type nvarchar(50),@xmoney money,@cardid nvarchar(50)
begin
select @cardid=cardID,@type=transType,@xmoney=transMoney from inserted --取插入的数据
IF(@type = '收入')
update bank set currentMoney=(currentMoney + @xmoney) where cardID=@cardid
else
update bank set currentMoney=(currentMoney - @xmoney) where cardID=@cardid
end
GO
二、创建删除
CREATE TRIGGER trig_bank_delete
ON bank_czmoney FOR DELETE
AS
declare @id int
declare @transType nvarchar(50)
declare @transMoney money
declare @cardID nvarchar(50)
select @id = id, @transType = transType,@transMoney=transMoney,@cardID=cardID from deleted --取删除的数据
IF not exists (SELECT * FROM sysobjects where name = 'backupTable')
select * into backupTable from bank_czmoney
DELETE FROM backupTable
insert into backupTable (id,transType,transMoney,cardID) VALUES (@id,@transType,@transMoney,@cardID) --插入另一个表
三、创建修改
CREATE trigger trig_bank_update on bank_czmoney
for update
as
declare @type nvarchar(50),@xmoney money,@cardid nvarchar(50)
begin
select @cardid=cardID,@type=transType,@xmoney=transMoney from bank_czmoney
IF(@type = '收入')
update bank set currentMoney=(currentMoney + @xmoney) where cardID=@cardid
else
update bank set currentMoney=(currentMoney - @xmoney) where cardID=@cardid
end
backupTable 表内容(记录整张表的信息,对比前后发现删除了哪条记录):
- 触发器解析
- 魔兽争霸触发器Trigger解析
- 数据库触发器简单解析
- sql触发器存储过程解析
- sql触发器与游标解析
- 实例解析SQL SERVER嵌套触发器使用方法
- Quartz源码解析 ---- 触发器按时启动原理
- Quartz源码解析 ---- 触发器按时启动原理
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- java实现全排列
- 无法将NULL值插入"UserID",表“Sys_Users”该列不允许空值,INSERT失败
- Andoird Studio 错误: 非法字符: '\ufeff'
- 数据库:从删除到修复
- ExpandableListView长按确定父项与子项
- 触发器解析
- linux命令之runlevel
- android api23以上的百度地图定位问题
- 解决Mevan项目js,css,images等前端资源不加载问题
- linux下如何部署(执行)java jar包,并关闭此jar的进程
- HDU 5997 rausen loves cakes (启发式合并+树状数组)
- iOS 根据数组里的model的属性进行筛选
- Xcode8 和 Swift 颜色 图片(即视功能)
- linux apt-get问题