본문 바로가기
Programming/DB (SQL)

까먹지 않게 SQL 커서를 사용한 구문

by 곰네Zip 2016. 2. 26.

커서의 사용예.. 까먹지 않으려고..

 

DECLARE $(변수명) AS $(변수타입)

DECLARE $(커서명)  SCROLL CURSOR

FOR

    $(변수에 담을 쿼리)

OPEN $(커서명)

FETCH NEXT FROM $(커서명) INTO $(변수명)

 

WHILE(@@FETCH_STATUS = 0)

BEGIN

    .. //To do   

    FETCH NEXT FROM $(커서명) INTO $(변수명)

END

CLOSE $(커서명)

DEALLOCATE $(커서명)

 

ex) 실적용 예

DECLARE @MYID AS VARCHAR(20)

DECLARE myCursor SCROLL CURSOR

FOR

    SELECT id FROM myTable WHERE name like '이%'

OPEN myCursor

FETCH NEXT FROM myCursor INFO @MYID

 

WHILE(@@FETCH_STATUS = 0)

BEGIN

    SELECT name FROM myTable WHERE id=@MYID

    FETCH NEXT FROM myCursor INFO @MYID

END

CLOSE myCursor

DEALLOCATE myCursor

 

뭐.. 이렇게 쓴다.. WHILE문 안에서 또 커서를 선언하여 작업하는것도 가능.

반응형

댓글