當柳上原的風吹向天際的時候...

          真正的快樂來源于創造

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
          其它和前例一樣,但遍歷代碼如下:


          CREATE COMPUTE MODULE flow_Compute
              
          CREATE FUNCTION Main() RETURNS BOOLEAN
              
          BEGIN
                  
          -- 員工總數
                  DECLARE Count INTEGER 0;
                  
          -- 得到XML中員工總數
                  SET Count=CARDINALITY(InputRoot.XML.employees.employee[]);
                  
                  
          -- 員工姓名匯總
                  DECLARE Names CHARACTER;
                  
          SET Names='';
                          
                  
          -- 最大年齡
                  DECLARE MaxAge INTEGER 0;
                  
                  
          -- 年齡合計
                  DECLARE SumAge INTEGER 0;
                  
                  
          -- 當前年齡
                  DECLARE CurrAge INTEGER 0;
                  
                  
          -- 循環變量        
                  FOR CurrItem AS InputRoot.XML.employees.employee[] DO
                      
          -- 字符串拼接 
                      SET Names=Names || CurrItem.name ;
                      
          SET Names=Names || ',';
                      
                      
          -- 字符串轉換成整數再進行年齡合計 
                      SET CurrAge = CAST(CurrItem.age AS INTEGER);
                      
          SET SumAge=SumAge+CurrAge;
                      
                      
          -- 得到最大年齡
                      IF MaxAge<CurrAge THEN
                          
          SET MaxAge=CurrAge;
                      
          END IF;
                  
          END FOR;
                  
                  
                  
          -- 平均年齡
                  DECLARE AvgAge FLOAT;
                  
          SET AvgAge=SumAge/Count;
                  
                  
          -- 拼接輸出XML
                  SET OutputRoot.XML.summary.count=Count;
                  
          SET OutputRoot.XML.summary.names=Names;
                  
          SET OutputRoot.XML.summary.maxAge=MaxAge;
                  
          SET OutputRoot.XML.summary.avgAge=CAST(AvgAge AS CHARACTER);
                  
                  
          RETURN TRUE;
              
          END;

          END MODULE;

          相比較而言,這種方式更簡潔方便。

          下載地址:
          http://www.aygfsteel.com/Files/heyang/ESqlTest0920_02.rar
          posted on 2011-09-21 11:29 何楊 閱讀(751) 評論(0)  編輯  收藏 所屬分類: WMB
          主站蜘蛛池模板: 集安市| 永定县| 苍山县| 沅陵县| 洪江市| 麦盖提县| 东安县| 电白县| 曲水县| 垣曲县| 鹤壁市| 正安县| 理塘县| 宜章县| 博客| 逊克县| 南安市| 乌审旗| 桦南县| 南皮县| 玉门市| 普定县| 黄山市| 龙井市| 廊坊市| 河源市| 松江区| 民乐县| 茌平县| 玛沁县| 汤原县| 三江| 古田县| 久治县| 宝山区| 社旗县| 昂仁县| 阿拉善左旗| 临澧县| 邹平县| 姚安县|