代码改变世界

Oracle数据库使用游标简单示例

2013-02-26 11:46  Yang-Onion  阅读(201)  评论(0编辑  收藏  举报

由于总是忘记语法,所以,在这里记录一下,供以后查阅。

CREATE OR REPLACE PROCEDURE SP_UPDATE_GDTIME_WHENNULL AS 
BEGIN 
  DECLARE CURSOR CUR IS 
  SELECT SD,MAX(GD_CLDATE) AS TEMPGDTIME FROM TB_BB_WORKORDERDISPOSEORIGINAL 
  WHERE TO_CHAR(GD_GDTIME,'yyyy-MM') ='0001-01' 
  GROUP BY SD; 
  V_SD  TB_BB_WORKORDERDISPOSEORIGINAL.SD%TYPE; 
  V_GDTIME TB_BB_WORKORDERDISPOSEORIGINAL.GD_GDTIME%TYPE; 
  BEGIN 
    OPEN CUR; 
    FETCH CUR INTO V_SD,V_GDTIME; 
    WHILE CUR%FOUND LOOP 
      UPDATE TB_BB_WORKORDERDISPOSEORIGINAL SET GD_GDTIME=V_GDTIME WHERE SD=V_SD; 
      COMMIT; 
      FETCH CUR INTO V_SD,V_GDTIME; 
    END LOOP; 
    CLOSE CUR; 
  END; 
END SP_UPDATE_GDTIME_WHENNULL;

 

  

home page tracking
NutriSystem Diet