求助 关于ILERPG中SQL变量引用的问题

发布于 2022-09-09 18:52:46 字数 2905 浏览 15 评论 4

今天程序编译的时候碰到一个问题,就是我写的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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

清风挽心 2022-09-10 21:12:47

楼主说明变量作用,在那里定义的?
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

懵少女 2022-09-10 20:02:14

你那个SELECT 语句中SBAN,SURY 是啥意思呀。。。
q疯哥p 发表于 2010-08-06 11:05

    应该是SUM(ZZSURY) AS SURY     ???

南街女流氓 2022-09-10 18:41:08

与前些年都喜欢选择西式婚纱不同,现在将中国传统的旗袍作为结婚礼服的人越来越多。“这些旗袍主要采用真丝面料,考虑到面料的贴合度、光泽度以及舒适度,真丝在这方面比较有优势。款式上,顾客偏爱一些传统中融入现代感的,这些款式更能符合现代审美眼光。” 对于较高档的定制旗袍的价位,张先生表示,一般在2000元左右。

め可乐爱微笑 2022-09-10 17:17:52

你那个SELECT 语句中SBAN,SURY 是啥意思呀。。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文