执行update的sql是使用的in(...)这样的形式。 由于oracle支持的in的参数有限,所以就分批来执行程序,基本形式如下:
for(i=0; i<n; i++){ int ret = sqlmapclient.update("sqlid", params[i]); }
params就是就是in的参数。 现在就是程序ret返回0,表未真正更新写入数据,且程序未抛异常,数据库那边也未检测到异常错误,帮忙分析下可能会有什么原因出现这种情况?
ringa_lee
更新未執行成功,可能是因為沒有符合條件的資料需要更新,所以回傳的條數是0
是否設定自動提交?
交易提交沒有,檢查事務相關程式碼或設定
懷疑是交易沒有提交,檢查下事務的配置。 也可能是後面的程式碼拋出異常導致整個交易被回滾。
更新未執行成功,可能是因為沒有符合條件的資料需要更新,所以回傳的條數是0
是否設定自動提交?
交易提交沒有,檢查事務相關程式碼或設定
懷疑是交易沒有提交,檢查下事務的配置。
也可能是後面的程式碼拋出異常導致整個交易被回滾。