String txId = Native.createGuid();
try {
BSF.startTransaction(txId);
DMLStatement dml = new DMLStatement("UPDATE SM_TENANT_ACCOUNT SET SYNC_CORDYS_FLAG =:isSync WHERE TENANT_ACCOUNT =:userId");
dml.addParameter("userId", "SM_TENANT_ACCOUNT.TENANT_ACCOUNT", userId);
dml.addParameter("isSync", "SM_TENANT_ACCOUNT.SYNC_CORDYS_FLAG", isSync);
dml.executeDML();
BSF.commitTransaction(txId);
}
catch (Exception ex){
BSF.abortTransaction(txId);
logger.error(">>>>>>>>>>>>>>>>>>>>>>>>>>>>> USER_SYNC_ERROR: SM_TENANT_ACCOUNT表更新用户[" + userId+"]CORDYS同步状态出错");
logger.error(">>>>>>>>>>>>>>>>>>>>>>>>>>>>> USER_SYNC_ERROR: " + getExceptionDetailsToStr(ex));
}
最新版本的API 是不需要 txId,直接使用就可以了
BSF.startTransaction
BSF.startTransaction(txId);<pre name="code" class="java">
本文详细介绍了如何使用特定的SQL语句来更新SM_TENANT_ACCOUNT表中指定用户的CORDYS同步状态,并通过事务管理确保操作的原子性和一致性。包括创建唯一标识符、启动事务、执行DML语句进行更新以及在出现异常时回滚事务。同时,还指出了最新的API版本不再需要传递事务ID。
825

被折叠的 条评论
为什么被折叠?



