Chinaunix

标题: 一个有关oracle和db2数据库的问题 [打印本页]

作者: vickyhyt89    时间: 2003-04-16 20:40
标题: 一个有关oracle和db2数据库的问题
oracle中有两种隔离级别,而db2中有四种,现在是要求不能出现脏读,并且当我使用子查询将一个表中的数据读出插入到另一张表,而此时,有一个事务正在update子查询要选定的记录,怎么让子查询阻塞,等update提交以后再执行?

比如说现在有个两人共享的银行账户,如果其中一个人从数据库中读出它的账户信息,将它插入他的个人财务状况表中,但此时另一个人正在从账户中去前,但是事务没有提交,如果没有保护,则他插入个人财务状况表中有关账户余额的数据就是不正确的

在oracle和db2中好像是使用不同的机制实现的,
在db2中只要将隔离级别指定为游标稳定性就可以了,自动锁定update要修改的行,直到事务提交。
在oracle中是使用select ....for update语句来锁定select语句要选出的行。但是db2不支持select .... for update 语句。

但是如果现在要开发一个应用程序,既可以使用oracle数据库,又可以使用db2数据库,怎么解决这个问题?原来是使用db2数据库的,现在希望对代码最比较小的修改(比如在连数据库的时候,制定一些参数什么的)就能使用oracle数据库,这个可以实现吗?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2