当前位置: 代码迷 >> DB2 >> db2存储过程有关问题
  详细解决方案

db2存储过程有关问题

热度:8246   发布时间:2013-02-26 00:00:00.0
db2存储过程问题
db2 存储过程 用递归查询,将查出的结果插入的表table1中,总是报 rpl1未定义。请大家帮忙看看 哪里有问题!谢谢
CREATE PROCEDURE prc_sa_sx(in trm_date int)
begin
   
  -- DECLARE EXIT HANDLER FOR SQLEXCEPTION
  DECLARE trm_year int;  
  DECLARE trm_month int;
  SET trm_year = trm_date/10000;
  SET trm_month = trm_date/100 - trm_year*100; 
  BEGIN
  ROLLBACK;
   
  END;  
   
  for v1 as cursor1 CURSOR FOR
   
  WITH RPL1 (num,name , dtetrm,type,m) AS 
  ( 
  递归查询……
  ) 
  select * from rpl1
  do  
   
  -- OPEN cursor1;
  begin  
  insert into t_sx_sa
  select num,name , dtetrm,type,m
  from rpl1 ;
  end;
  end for;
   
  commit;
   
END

------解决方案--------------------------------------------------------
把递归查询直接insert到表里,直接inert。。。select不行吗?
一定要用游标循环操作吗?
------解决方案--------------------------------------------------------
SQL code
insert into t_sx_saWITH RPL1 (num,name , dtetrm,type,m) AS    (    递归查询……  )    select * from rpl1;
  相关解决方案