1、触发器 存取款

题目、活期存款中,“储户”通过“存取款单”和“储蓄所”发生联系。假定储户包括:账号,姓名,电话,地址,存款额;“储蓄所”包括:储蓄所编号,名称,电话,地址(假定一个储户可以在不同得储蓄所存取款) 1、写出设计以上表格的语句(4分) 2、创建一个触发器TR1完成下面内容: 当向“存取款单”表中插入数据时,如果存取标志=1则应该更改储户表让存款额加上存取金额,如果存取标志=0则应该更改储户表让存款额减去存取金额,如果余额不足显示余额不足错误。

CREATE TABLE CREATE TRIGGER tr1 on qukuan after insert AS BEGIN declare @sid nvarchar(50) declare @type int declare @qian int declare @yuer int select @sid=sid,@type=[type],@m=m from inserted select @yuer=yuer from cunkuan if(@type=1) begin update cunkuan set yuer=yuer+@qian end else begin if(@yuer<@qian) begin print '余额不足' end else begin update cunkuan set yuer=yuer-@qian end end END GO
2、查询每个类型最近的一条记录

select * from (select Type,Title,Createtime,ROW_NUMBER() over(Partition by Type order by createtime desc) RowId from News) T where T.RowId=1