触发器(sql)
来源:互联网 发布:淘宝客户群体分析 编辑:程序博客网 时间:2024/05/12 12:14
--触发器
/*
create triggeer 触发器名称 on table for (insert update delete)
*/
--银行账户操作案例
--针对存取款动作 来对账户基表进行修改
--两张表 一张账户表 一张账户信息交易表
--账户信息表
create table accounttb(
accountid int identity(1,1) primary key,
accountname varchar(50),
currentmoney money
)
--交易信息表
create table transtb(
transid int identity(1,1) primary key,
transaccount int,
transtype varchar(10),
transmoney money
)
insert into accounttb values('张三',1000)
select *from accounttb
--当交易表中的有数据新增是 则对账户表基表进行操作
create trigger accounttrig
on transtb for insert
as
declare @opertype varchar(10), @money money, @transaccountid int
begin
select @opertype=transtype,@money=transmoney,@transaccountid=transid from inserted
--print @transaccountid
if(@opertype='取')
begin
update accounttb set currentmoney=currentmoney-@money
end
else
begin
update accounttb set currentmoney=currentmoney+@money
end
end
--向表中添加数据
insert into transtb values(1,'取',200)
select *from transtb
--当删除交易进行时 对交易信息做备份
alter trigger deltri on transtb for delete
as
begin
if not exists (select *from sysobjects where name='backtb')
select *into backtb from deleted
else
insert into backtb select*from deleted
end
delete from transtb where transid=1
/*
create triggeer 触发器名称 on table for (insert update delete)
*/
--银行账户操作案例
--针对存取款动作 来对账户基表进行修改
--两张表 一张账户表 一张账户信息交易表
--账户信息表
create table accounttb(
accountid int identity(1,1) primary key,
accountname varchar(50),
currentmoney money
)
--交易信息表
create table transtb(
transid int identity(1,1) primary key,
transaccount int,
transtype varchar(10),
transmoney money
)
insert into accounttb values('张三',1000)
select *from accounttb
--当交易表中的有数据新增是 则对账户表基表进行操作
create trigger accounttrig
on transtb for insert
as
declare @opertype varchar(10), @money money, @transaccountid int
begin
select @opertype=transtype,@money=transmoney,@transaccountid=transid from inserted
--print @transaccountid
if(@opertype='取')
begin
update accounttb set currentmoney=currentmoney-@money
end
else
begin
update accounttb set currentmoney=currentmoney+@money
end
end
--向表中添加数据
insert into transtb values(1,'取',200)
select *from transtb
--当删除交易进行时 对交易信息做备份
alter trigger deltri on transtb for delete
as
begin
if not exists (select *from sysobjects where name='backtb')
select *into backtb from deleted
else
insert into backtb select*from deleted
end
delete from transtb where transid=1
select *from backtb
最后娱乐一下 一部很好看的儿童动漫:蛋计划 http://www.iqiyi.com/v_19rrnegutc.html
欢乐动漫http://www.happyanimation.com.cn
0 0
- sql 触发器(trigger)
- 触发器-----------数据库(SQL)
- 触发器(sql)
- sql触发器(学习日记)
- SQL总结(六)触发器
- SQL总结(六)触发器
- SQL总结(六)触发器
- SQL总结(六)触发器
- SQL 触发器
- SQL触发器
- SQL触发器
- SQL触发器
- SQL 触发器
- SQL触发器
- sql触发器
- SQL触发器
- SQL触发器
- Sql触发器
- java数据结构-set
- Xcode6上传应用过程中一些变动以及#解决方案#
- Unity之EditorUtility-ProgressBar进度条-一
- 网站推广的主要途径 转载
- 珞巴族的穿衣喜好
- 触发器(sql)
- 网站推广的主要途径 转载
- 生成字母验证图片(python)
- GlusterFS分布式文件系统
- 纤手学院献给可爱的发型师们——你们辛苦了
- 定制UITableView的单元格
- iOS疯狂详解之视频播放MPMoviePlayerViewController
- java 调用webservice的各种方法总结
- LED产业联盟与顶你学堂携手发布首个行业MOOC平台