政府机关数据库

db2 存储过程 load

CREATE PROCEDURE A(                                 IN YWSJKSRQ DATE,--传进来的开始时间            &...显示全部
CREATE PROCEDURE A(
                                 IN YWSJKSRQ DATE,--传进来的开始时间
                                 IN YWSJJSRQ DATE)--传进来的结束时间
    SPECIFIC A
    MODIFIES SQL DATA
    NOT DETERMINISTIC
    NULL CALL
    LANGUAGE SQL
BEGIN

    DECLARE V_TS INTEGER DEFAULT 0;
    DECLARE   SqlStr     VARCHAR(500);
    declare staffcursor cursor for
    select tdata.V_ND,T1.wdzj,T3.wdzj,T2.wdzj,T4.wdzj,0,tdata.V_SJWCZ,tdata.V_GXRQ,'ms',current timestamp,'sjy'
    from (select a.DPTID,a.ITEMID,cast(left(a.DATEFLAG,4) as integer) AS V_ND,
      left(a.DATEFLAG,4)||'-'||right(a.DATEFLAG,2) as V_NDYD,
     a.ITEMVALUE AS V_SJWCZ ,b.groupid,A.EDITTIME AS V_GXRQ
     from TBM_DATA_ACHIEVED  a,
      (select b.DPTID,c.GROUPID,c.ITEMID  from   tbm_groupdist B
       left join info_itemgroup C on B.GROUPID =C.GROUPID) b
       where a.dptid=b.dptid and a.itemid=b.itemid and a.datatype=7040
       AND int(left(a.DATEFLAG,4))>= year(YWSJKSRQ)  AND int(left(a.DATEFLAG,4))<=year(YWSJJSRQ)
       AND left(a.DATEFLAG,4)||'-'||right(a.DATEFLAG,2)>=cast(YWSJKSRQ AS VARCHAR(7))
       AND left(a.DATEFLAG,4)||'-'||right(a.DATEFLAG,2)<=cast(YWSJJSRQ AS VARCHAR(7))
) TDATA
left join T_LOOKUP_ZJ T1 on rtrim(char(TDATA.dptid))  =t1.wdywdm and t1.wddm=2
left join T_LOOKUP_ZJ T2 on rtrim(char(TDATA.itemid)) =t2.wdywdm and t2.wddm=13
left join T_LOOKUP_ZJ T3 on rtrim(char(TDATA.groupid))=t3.wdywdm and t3.wddm=12
left join T_LOOKUP_ZJ T4 on rtrim(char(TDATA.dptid))  =t4.wdywdm and t4.wddm=8 ;
----声明游标


    DELETE from T_F_02_SJWC WHERE  ND>=YEAR(YWSJKSRQ) AND ND<=YEAR(YWSJJSRQ);
--更改表附加方式
   CALL SYSPROC.ADMIN_CMD('load from staffcursor of cursor insert into T_F_02_SJWC_TEMP1');

SELECT COUNT(*) INTO V_TS FROM T_F_02_SJWC_TEMP1 WHERE ND>=YEAR(YWSJKSRQ) AND ND<=YEAR(YWSJJSRQ);
COMMIT;     
END

编译完成后,直接运行存储过程老是报一个这样的错
SQL0104N  An unexpected token "cursor" was found following "OF".  Expected tokens may include:  "ASC".  SQLSTATE=42601  

请高手指点下收起
参与13

查看其它 11 个回答weiruan85的回答

weiruan85weiruan85数据库管理员ibm
存储过程里边调用load貌似不行
政府机关 · 2010-05-28
浏览1787

回答者

weiruan85
数据库管理员ibm

weiruan85 最近回答过的问题

回答状态

  • 发布时间:2010-05-28
  • 关注会员:1 人
  • 回答浏览:1787
  • X社区推广