现在讨论的就是commit命令会更改SQLCODE吗?如果更改,要不要通过SQLCODE判断commit是否成功,还是有其他方法,还是不用判断?这个主要是为commit提交时网络出现异常的讨论。
如:
lb_err = flase
update a set ……
if SQLCA.SQLCode0 then
现在讨论的就是commit命令会更改SQLCODE吗?如果更改,要不要通过SQLCODE判断commit是否成功,还是有其他方法,还是不用判断?这个主要是为commit提交时网络出现异常的讨论。
如:
lb_err = flase
update a set ……
if SQLCA.SQLCode0 then
lb_err = true
rollback ;
end if
update b set ……
if SQLCA.SQLCode0 then
lb_err = true
rollback ;
end if
if lb_err then
return err
else
commit ;
后续处理,比如删除操作系统下文件等 //关键是commit发出之后要不要判断SQLCode?如果不判断,就认为提交成功,去删除文件,可是刚发出commit之后,还没有送到oracle数据库服务器,由于网络原因吊线了,我个人认为数据库肯定会回滚,但我们却认为成功了,删除了文件,这个文件还没有保存到数据库就丢了。
end if