发布网友 发布时间:2022-04-08 00:08
共2个回答
懂视网 时间:2022-04-08 04:29
选课系统,当同意学号选课数量超过则回滚事务,符合条件则正常插入数据
--开始一个事务处理
Begin Tran T1
--执行插入操作
insert into Courselist values(‘20100021‘,‘01‘);
insert into Courselist values(‘20100021‘,‘02‘);
insert into Courselist values(‘20100021‘,‘03‘);
insert into Courselist values(‘20100021‘,‘04‘);
insert into Courselist values(‘20100021‘,‘05‘);
--判断同一学号的选课数量是否符合
IF(select COUNT(StudentID) as cnt from Courselist where StudentID=‘20100021‘)>4
BEGIN
--不符合,回滚事务
rollback Tran T1
END
ELSE
BEGIN
--符合,提交事务
commit Tran T1
END
SQL事务回滚样例
标签:
热心网友 时间:2022-04-08 01:37
在程序中可以使用try{//提交事物}catch(Exception e){//回滚事物}。只要是通过事物来提交的命令,都可以回滚。追问在不同数据源也可以回滚其他库中的数据?》追答首先:一个数据库连接conn只能连接一个数据库。要实现你上面的效果,需要在数据库a中创建一个指向数据库b的视图,这样一个连接就可以操作两个数据库了。相当于就是操作一个数据库中的两张表,那么回滚就没有问题了。