创建触发器
当交易信息表有插入或者修改记录,银行卡信息表跟随改变:如交易信息表新增一条支取,那么对应的银行信息卡余额应该减少对应支取的金额。同理如交易信息表新增一条存入,那么对应的银行信息卡余额应该增加对应存入的金额。注意:如果支取先判断余额,不足则提示。如交易成功打印恭喜信息。银行卡信息表:卡号,币种(人民币),存储类型(定期,活期),开户时间,开户金额,当前账目余额,密码,是否挂失,用户的ID
交易信息表:交易日期,卡号,交易类型,交易金额,备注
当交易信息表有插入或者修改记录,银行卡信息表跟随改变:如交易信息表新增一条支取,那么对应的银行信息卡余额应该减少对应支取的金额。同理如交易信息表新增一条存入,那么对应的银行信息卡余额应该增加对应存入的金额。注意:如果支取先判断余额,不足则提示。如交易成功打印恭喜信息。银行卡信息表:卡号,币种(人民币),存储类型(定期,活期),开户时间,开户金额,当前账目余额,密码,是否挂失,用户的ID
交易信息表:交易日期,卡号,交易类型,交易金额,备注
解决方案 »
- 更新的SQL语句怎么写?
- 如何不用hash比较实现数据仓库拉链算法
- oracle大数据量的分页怎么做比较好
- Oracle中如何查询一个用户下有多少张表、视图等等?
- ORACLE无法登陆....
- 请教关于ORACLE调用java类的返回数据类型
- 分析函数的疑问
- 高手请进,入门级小兄弟们就不要耽误自己的时间了!!
- 请问ORACLE中如何取得一张表最后5条记录
- 100分!!ORA-12154: TNS: 无法处理服务名client:winxp+sp1;server:IBM小型机 AIX 4
- 求大神施舍一个基于oracle的jsp程序
- ORACLE数据库插入数据时报错,ora-00936: 缺失表达式
after insert on 交易表
for each row
declare
v_ye number:=0;
begin
select 当前账目余额 into v_ye from 银行卡信息表 where 卡号==:new.卡号;
if :new.交易类型='支取' then
if v_ye<:new.交易金额 then
raise_application_error(-20044,'余额不足');
else
update 银行卡信息表 set 当前账目余额=(当前账目余额-:new.交易金额) where 卡号=:new.卡号;
dbms_output.put_line('交易成功');
end if;
end if;
if :new.交易类型='存入' then
update 银行卡信息表 set 当前账目余额=(当前账目余额+:new.交易金额) where 卡号=:new.卡号;
dbms_output.put_line('交易成功');
end if;
end;
大概就是这样吧,具体的看你需求再改写就可以了