有一张表table1(a number, b varchar , c varchar, d number) ----a为主键
现在要对表进行修改和删除操作(针对的是表中的一条数据,而不是全表进行删除)实现并发处理:(提示信息是在jsp页面显示的,用的数据库为oracle 9i)
1)并发删除,后删除的提示:存在已经被删除的信息,请重新选择!
2)先删除后修改,提示:该表记录已经被删除!
由于刚刚工作,对并发处理很陌生,请高手们帮帮忙,是用存储过程还是在java中实现并发,最好有实现的过程(代码),千万不要只回答“利用存储过程实现”等这样的语句。
先感谢回答问题的同志了,更感谢帮助我解决问题的同志,高手了。
------解决方案--------------------
oracle的话一般是read commited隔离级别
而且oracle的多版本控制能提供很好的并发性以及一致性
所以不用担心会出错
而且找你的需求
你可以先select for update nowait加上悲观锁,这个是行级锁,此时其他事物select for update的时候会抛出
resouce busy的错误
没必要是用存储过程
------解决方案--------------------
你用jdbc还是用hibernate?
用jdbc的话,执行删除操作用executeUpdate()会返回删除的条数,如果删除0条返回-1吧好像,如果返回-1就说明是后删,如果返回条数则删成功。
update也是,修改后返回-1表示没有修改,说明已经被删掉了,提示不存在。。
------解决方案--------------------
hibernate类似。
------解决方案--------------------