728x90
반응형
테이블에서 여러개의 행을 조회(SELECT)한 후 그 결과를 한 행씩 처리하는 방식
-- 변수 선언
DECLARE @[변수명1] [데이터 타입]
@[변수명2] [데이터 타입]
-- 커서 선언
DECLARE [커서명] CURSOR FOR
SELECT [필드 리스트]
FROM [테이블명]
-- 커서 오픈
OPEN [커서명]
-- SELECT한 값을 변수(@[변수명1], @[변수명2])에 저장
FETCH NEXT FROM [커서명] INTO @[변수명1], @[변수명2]
-- @@FETCH_STATUS 이상이 없는 경우 0, 실패했거나 행이 결과 집합의 범위를 벗어난 경우 -1, 행(Row) 없는 경우 -2
WHILE @@FETCH_STATUS = 0
BEGIN
-- SELECT한 데이터로 수행할 작업
-- INSERT, UPDATE, DELETE 등
DELETE [테이블명]
WHERE [필드1] = @[변수명1]
AND [필드2] = @[변수명2]
-- 다음 행(Row)으로 이동
FETCH NEXT FROM [커서명] INTO @[변수명1], @[변수명2]
END
-- 커서 닫고 초기화
CLOSE [커서명]
DEALLOCATE [커서명]
728x90
반응형
'Database > MS SQL' 카테고리의 다른 글
MS SQL。TRY - CATCH (0) | 2020.12.11 |
---|---|
MS SQL。MERGE (0) | 2020.12.10 |
MS SQL。반복문(While) (0) | 2020.12.08 |
MS SQL。조건문(CASE) (0) | 2020.12.07 |
MS SQL。조건문(IF - ELSE) (0) | 2020.12.06 |