求助 关于ILERPG中SQL变量引用的问题
今天程序编译的时候碰到一个问题,就是我写的SQL语句为:
C/EXEC SQL
C+ DECLARE C1 CURSOR FOR
C+ SELECT ZZNESN,ZZPROD,ZZHBAN,SUBSTR(ZZYOB1,1,2) SBAN,
C+ SUM(ZZSURY) SURY
C+ FROM ZAZZSY
C+ WHERE ZZKAIS='11' AND ZZBSYO='G21' AND ZZDBSY='901'
C+ AND ZZSYYD = S6XSYYD
C+ GROUP BY ZZNESN,ZZPROD,ZZHBAN,SUBSTR(ZZYOB1,1,2)
C+ ORDER BY ZZNESN,ZZPROD,ZZHBAN,SUBSTR(ZZYOB1,1,2)
C/END-EXEC
便来都挺好的,可是编译的时候却报这样的错误:
记录 *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+..
1183 C+ FETCH C1 INTO :ZZNESN, :ZZPROD, :ZZHBAN, :ZZSBAN, :SURY
5722ST1 V5R3M0 040528 创建 SQL ILE RPG 对象 MOS5261
诊断消息
MSG ID SEV 记录 文本
SQL0312 30 1183 位置 62 变量 SURY 未定义或不可用。
请问怎么才能在RPG中用SQL提取合计的数量,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
楼主说明变量作用,在那里定义的?
RPG 里变量在内嵌SQL用用:开头比如下面 :SETLOC
C/EXEC SQL
C+ INSERT INTO XQ05
C+ SELECT XQ05_USR, XQ05_APP, XQ05_FUN, XQ05_CPY,:NEWLOC, XQ05_USRRGT,
C+ FILLER001 FROM XQ05 WHERE CPY=:CPYNUM AND LOC IN(:SETLOC) AND
C+ SUBSTRING(TRIM(USR),5,2)=:SETLOC
C+ AND SUBSTRING(TRIM(USR),3,1) IN ('D','M')
C/END-EXEC
若要把sql 一个结果放入RPG 定义变量 要用INTO 如下放入变量 :WKCNT
C/EXEC SQL
C+ SELECT COUNT(*) INTO :WKCNT FROM XI01 WHERE MAINKEY=:INKEY AND
C+ RECID=:INRECID AND TRIM(SUBSTRING(DATAFIELD,1,10)) LIKE
C+ TRIM(:INID) AND SUBSTRING(DATAFIELD,11,69) LIKE '%'||:INLOC||'%'
C/END-EXEC
应该是SUM(ZZSURY) AS SURY ???
与前些年都喜欢选择西式婚纱不同,现在将中国传统的旗袍作为结婚礼服的人越来越多。“这些旗袍主要采用真丝面料,考虑到面料的贴合度、光泽度以及舒适度,真丝在这方面比较有优势。款式上,顾客偏爱一些传统中融入现代感的,这些款式更能符合现代审美眼光。” 对于较高档的定制旗袍的价位,张先生表示,一般在2000元左右。
你那个SELECT 语句中SBAN,SURY 是啥意思呀。。。