Db/Oracle

Oracle cursor 간단 sample

seongsland 2010. 4. 6. 23:57
CREATE OR REPLACE PROCEDURE gg
IS
   v_err_code   VARCHAR2 (20);
   v_err_msg    VARCHAR2 (500);
   v_user_cd    VARCHAR2 (7);


   CURSOR c
   IS
      SELECT  a, b,c
      FROM dd
BEGIN
   FOR dt IN c
   LOOP
      -- 쿼리 처리
     v_user_cd := dt.user_cd;

      -- 2번째 방법
      FOR cd_list IN (SELECT cd
                            FROM dd)
      LOOP
         -- 쿼리 처리
         v_user_cd := dt.user_cd;

      END LOOP;
   END LOOP;

   COMMIT;
EXCEPTION
   WHEN OTHERS
   THEN
      ROLLBACK;
      -- Exception 처리

      COMMIT;
END gg;
/