當(dāng)柳上原的風(fēng)吹向天際的時(shí)候...

          真正的快樂來源于創(chuàng)造

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


          CREATE COMPUTE MODULE flow_Compute
              
          CREATE FUNCTION Main() RETURNS BOOLEAN
              
          BEGIN
                  
          -- 員工總數(shù)
                  DECLARE Count INTEGER 0;
                  
          -- 得到XML中員工總數(shù)
                  SET Count=CARDINALITY(InputRoot.XML.employees.employee[]);
                  
                  
          -- 員工姓名匯總
                  DECLARE Names CHARACTER;
                  
          SET Names='';
                          
                  
          -- 最大年齡
                  DECLARE MaxAge INTEGER 0;
                  
                  
          -- 年齡合計(jì)
                  DECLARE SumAge INTEGER 0;
                  
                  
          -- 當(dāng)前年齡
                  DECLARE CurrAge INTEGER 0;
                  
                  
          -- 循環(huán)變量        
                  FOR CurrItem AS InputRoot.XML.employees.employee[] DO
                      
          -- 字符串拼接 
                      SET Names=Names || CurrItem.name ;
                      
          SET Names=Names || ',';
                      
                      
          -- 字符串轉(zhuǎn)換成整數(shù)再進(jìn)行年齡合計(jì) 
                      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;

          相比較而言,這種方式更簡(jiǎn)潔方便。

          下載地址:
          http://www.aygfsteel.com/Files/heyang/ESqlTest0920_02.rar
          posted on 2011-09-21 11:29 何楊 閱讀(751) 評(píng)論(0)  編輯  收藏 所屬分類: WMB
          主站蜘蛛池模板: 吉林市| 渝北区| 日喀则市| 齐河县| 黄冈市| 水富县| 上虞市| 宜兰市| 无锡市| 从江县| 尼勒克县| 秦安县| 阿克苏市| 河曲县| 新巴尔虎右旗| 定西市| 新晃| 泊头市| 保亭| 台东县| 剑川县| 怀集县| 阳谷县| 崇礼县| 沙湾县| 平邑县| 林西县| 江油市| 海盐县| 江达县| 普陀区| 桐梓县| 沁水县| 蓬溪县| 岐山县| 鲜城| 绍兴县| 微山县| 渝北区| 拉孜县| 独山县|