알쓸전컴(알아두면 쓸모있는 전자 컴퓨터)
[MS-SQL] 커서(Cursor) 사용하기 본문
[MS-SQL] 커서(Cursor) 사용하기
커서(Cursor)란?
행 단위 작업을 추가로 제어해야 할 경우 사용되는 기능입니다.
커서 선언
--커서 생성
DECLARE CursorEmail CURSOR FOR SELECT Email from tblUserTable where IsDelete = 'False'
커서 열기
--커서 열기
Open CursorEmail;
불러온 데이터를 이용한 작업
-- 맨처음 결과 데이터로 이동
Fetch Next From CursorEmail Into @email
WHILE(@@FETCH_STATUS <> -1)
BEGIN;
--원하는 작업 수행 --다음 결과 데이터로 이동
Fetch Next From CursorEmail Into @email;
END;
커서 닫기
Close CursorEmail;
Deallocate CursorEmail;
example
DECLARE @email VARCHAR(100)
DECLARE @idx INT SET @idx = 0
DECLARE CursorEmail
CURSOR FOR SELECT Email from tblUserTable where IsDelete = 'False'
Open CursorEmail;
Fetch Next From CursorEmail Into @email
While(@@FETCH_STATUS <> -1)
Begin;
--Idx 1씩 증가
SET @idx = @idx + 1
--업데이트 수행
UPDATE tblUserTable SET groupIdx = @idx WHERE IsDelete = 'False' AND Email = @email
Fetch Next From CursorEmail Into @email;
End;
Close CursorEmail;
Deallocate CursorEmail;
출처: http://blog.sonim1.com/161 [Kendrick's Blog]
'데이터베이스' 카테고리의 다른 글
oracle bind 변수 사용한 sql 로그 및 bind 변수 보기 위한 방법 (0) | 2018.05.03 |
---|---|
mysql Db 백업및 복구 (0) | 2017.11.08 |
[MSSQL] SELECT구문에서 DECLARE 변수에 바로 값 넣어서 사용하기 (0) | 2017.10.31 |
SQL JOIN 사용법 및 개념 (0) | 2017.08.18 |
MSSQL 임시,변수 테이블 적용 하기 (0) | 2017.08.18 |