기본적인 구조

--커서네임 CUR_CHECK_MEMBER 

--커서로 추가할 라인 검색
DECLARE CUR_CHECK_MEMBER CURSOR FOR

       SELECT  *  FROM  FRIENDS_EVENT

OPEN CUR_CHECK_MEMBER
FETCH NEXT FROM CUR_CHECK_MEMBER

WHILE @@FETCH_STATUS = 0
        BEGIN
         PRINT 'FETCH LOOP'
FETCH NEXT FROM CUR_CHECK_MEMBER  --요거 안해주면 무한루프 ㅋㅋ

        END

CLOSE CUR_CHECK_MEMBER

DEALLOCATE CUR_CHECK_MEMBER

커서마다 idx(필드네임) 값 가져오기

DECLARE @IDX INT <--- 가져오 필드네임

DECLARE CUR_CHECK_MEMBER CURSOR FOR

       SELECT  IDX  FROM  FRIENDS_EVENT

OPEN CUR_CHECK_MEMBER
FETCH NEXT FROM CUR_CHECK_MEMBER INTO @IDX

WHILE @@FETCH_STATUS = 0
        BEGIN
         PRINT @IDX

FETCH NEXT FROM CUR_CHECK_MEMBER INTO @IDX

        END

CLOSE CUR_CHECK_MEMBER

DEALLOCATE CUR_CHECK_MEMBER

커서가 뭐냐면...
회원정보를 하나 하나 가져와서
분석하고 처리해야하는데... 이거는 ASP 레코드셋처럼
한행 단위로 처리할수있다 ㅎㅎㅎㅎㅎ
편하다.....~
--커서선언부분
DECLARE cur_konan_Test CURSOR
FOR
SELECT idx , member_id FROM member_payment --커서에 담을 테이블 선택
--커서 오픈
OPEN cur_konan_Test
--변수 선언
DECLARE @idx int
DECLARE @member_id varchar(50)
FETCH NEXT FROM cur_konan_Test INTO @idx, @member_id --이게 레코드셋이라 생각하믄됨
* 참고 하셈-----------------------------------------------------------------------------
while @@FETCH_STATUS =0 으로 돌고있음
한마디로 말해서 에러가 없을때 까지 돌아란 말.... ㅎㅎㅎ 쉽따
0 FETCH 문은 성공적이었습니다.
-1 FETCH 문은 실패했거나 행이 결과 집합의 범위를 벗어났습니다.
-2 반입된 행이 없습니다.
----------------------------------------------------------------------------------------
WHILE @@FETCH_STATUS = 0
BEGIN
print @idx
print @member_id
FETCH NEXT FROM cur_konan_Test INTO @idx, @member_id --다음 커서로 이동~
END
--커서 CLOSE
CLOSE cur_konan_Test
--커서 DEALLOCATE
DEALLOCATE cur_konan_Test

+ Recent posts