declare cursor

MS-SQL 2012. 6. 12. 17:08 Posted by Dayis

declare cur cursor for  -- 커서선언

 select a.sayear, a.entsubno, d.saitmcd

   from TEST a

        -- 조회쿼리 


open cur

        

        -- 조회쿼리 항목들을 변수로 선언 (갯수가 동일해야 한다 )

 declare @year char(4)

  ,@entsubno char(6)

  ,@saitmcd char(11)

  

 fetch next from cur into @year, @entsubno, @saitmcd

 

 while @@fetch_status = 0

 begin 

  

  insert into TEST_subitm ( sayear, entsubno, saitmcd)

  values (@year,@entsubno,@saitmcd)

                --실행쿼리부분


 fetch next from cur into @year, @entsubno, @saitmcd

 end

close cur

deallocate cur


---------------------------------------------------


전체적인순서


1. 쿼리로 커서선언

2. 커서 OPEN

3. 데이터 선언

4. 첫번째 레코드의 값을 변수에 셋팅

5. 패치상태가 정상이면 while 반복문 실행

6. 반복문 시작 

7. 실행쿼리 실행

8. 다음 레코드의 값을 변수에 셋팅

9. 반복문 종료

10. 커서 CLOSE

11. 커서메모리 반환

'MS-SQL' 카테고리의 다른 글

MS-SQL 인덱스 조각모음  (0) 2013.01.03
MS-SQL 전체 테이블 크기 조회 (용량순, 테이블이름순)  (0) 2012.08.16
Join절 Update  (0) 2011.11.03
join, update  (0) 2010.11.22
프로시져 사용시 ADO타입  (0) 2010.10.06