免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2315 | 回复: 5
打印 上一主题 下一主题

rpg嵌sql的问题?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-19 10:56 |只看该作者 |倒序浏览
C/EXEC SQL                                                           
C+ DECLARE JYCURSOR SCROLL CURSOR FOR SELECT NBH, J FROM JY_INPUT   
C+ WHERE J LIKE :IJ FOR READ ONLY                                   
C/END-EXEC   
C/EXEC SQL                                                           
C+ OPEN JYCURSOR                                                     
C/END-EXEC                                                           
C/EXEC SQL   
C+ FETCH RELATIVE :ROWCOUNT FROM JYCURSOR FOR 20 ROWS INTO :STRU1  
C/END-EXEC
游标打开后,变量sqlerrd(3)应该有符合like条件的所有记录的总和,可是现在没有,不知道是什么原因??

论坛徽章:
0
2 [报告]
发表于 2006-09-19 14:58 |只看该作者
FETCH RELATIVE :ROWCOUNT FROM JYCURSOR FOR 20 ROWS INTO :STRU1  时

sqlerrd(3)里是20 ,怎么能取到总和?

论坛徽章:
0
3 [报告]
发表于 2006-09-20 11:27 |只看该作者
sqlerrd 结构第三位含义
  对 insert delete update 返回影响的条数
  对 fetch 返回 取到的条数
  对prepare  返回估计的条数 最大返回 214748367  这个不是十分准确的
  所以你fetch之后可以取到20条 如果想全取到 不要限制20

dm  
我是ryp

论坛徽章:
0
4 [报告]
发表于 2006-09-20 14:13 |只看该作者
这个我看到了,现在主要是想定义一次游标,就可以取到所有的总和,而不想再有select count(*) 的动作去取

貌似现在400的sqlca的结构里没有能返回总数的结果。

informix里的sqlerrd[2]是返回总和的,而400的sqlerrd3是记录一次fetch,update或者insert动作成功操作的记录和,SQL标准的sqlerrd数组是怎么定义的??两种数据库的结果不同啊

论坛徽章:
0
5 [报告]
发表于 2006-09-20 21:17 |只看该作者
如果机器性能不佳,建议不要用内嵌SQL.

论坛徽章:
0
6 [报告]
发表于 2006-09-20 21:41 |只看该作者
好像用 select * count, 没有其他方法了。
要不最笨的用QUERY产生一个临时文件也可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP