- 论坛徽章:
- 0
|
在函数里执行的update 语句;
外部循环调用的,记录少的时候没有问题,多了就报错,一般执行到327**差不多就报错
错误信息:
err_msg=sqlcode update1 [-346]
sqlcode=-346,isam=-101,sqlerrm=
很奇怪啊,不是一执行就报错,是执行到一定数量就不行了。
SQL:
sprintf(sql_str,"update a_acct_accumulate_liuzn set balance =%d,critical_time='%s',error_time='%s'\
where owner_id=%d and owner_type=%d and ratable_resource_id=%d and cyc_seq_nbr =%d and %d>=balance",
remain_count_proc.after_balance,
remain_count_proc.critical_time,
remain_count_proc.error_time,
remain_count_proc.owner_id,
remain_count_proc.owner_type,
remain_count_proc.ratable_resource_id,
remain_count_proc.cyc_seq_nbr,
remain_count_proc.after_balance);
EXEC SQL EXECUTE IMMEDIATE :sql_str;
if (db_sqlcode() != 0)
{
sprintf(err_msg,"sqlcode update1 [%d]\n",db_sqlcode());
pub_message(6302996,DEBUG_MESSAGE,DB_ERROR,"md_refresh_remain_count_liuzn()",err_msg);
return -1;
}
大家帮忙给看看
|
|