免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2301 | 回复: 1

执行UPDATE 达到一定数量后,报-346错误,召唤 [复制链接]

论坛徽章:
0
发表于 2011-12-21 11:08 |显示全部楼层
在函数里执行的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;
      
      }

大家帮忙给看看

论坛徽章:
0
发表于 2012-01-29 12:57 |显示全部楼层
可能是回滚段不足了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP