mem1

1.LOCK TABLE tablename PRATITION interge IN SHARE/EXCULSIVE MODE


2.COBOL调用的子程序中如果有SQL语句的话,在return的时候会自动commit,当然前提是SQLCODE=0。如果SQLCODE<0 则rollback。


~~~~~~~~~Bind package option里RELEASE(COMMIT)的意思是,资源在commit的时候被释放,RELEASE(DEALLOCATE)资源在程序terminate的时候被释放。并不是程序release的时候commit或者deallocate资源之类的意思,囧...

 

在一个cobol程序中有若干条SQL语句,如果其中一条出错,没关系,其他SQLCODE=0语句还是有效的,没有所谓的rollback保证交易的原子性(如果真那样,DB2也太智能了,不需要在应用里控制交易的原子性),在程序terminate的时候会commit,将无错语句的执行结果写入数据库。

所以,如果你想保证一个交易的原子性,即使这个交易时在一个cobol程序里实现的,那你也需要手动的执行savepoint、commit和rollback操作,切忌。


3.对于savepoint这个东西,不是很理解它的用处,我们期望transaction的consistent,那么为什么要在一个transaction之间打上savepoint呢...

~~~~~~~~~~~~~上面已经解释了,savepoint的一点用处,希望理解是正确的吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值