一. 实验内容、步骤以及结果
假设学校允许学生将银行卡和校园卡进行绑定,在student数据库中有如下的基本表,其中校园卡编号cardid即为学生的学号:
icbc_card(studcardid, icbcid, balance) //校园卡ID,工行卡ID,银行卡余额
campus_card(studcardid, balance) //校园卡ID,校园卡余额
本实验中的部分示例数据
create table icbc_card(
icbcid int,
sno varchar(8),
balance int
);
create table campus_card(
sno varchar(8),
balance int
);
insert into campus_card values ('20200032', 1);
insert into campus_card values ('20200033', 100);
insert into icbc_card values (1, '20200032', 300);
insert into icbc_card values (2, '20200033', 400);
针对以上数据库按照要求完成下列实验:
1. 编写一个事务处理实现如下的操作:某学号为20200032的学生从银行卡中转账200元到校园卡中,若中间出现故障则进行rollback。(10分)
DELIMITER $$
USE `student`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE <