DECLARE cur_konan_Test CURSOR
FOR
SELECT 번호, 우편번호, 우편주소 FROM 우편물
--커서 오픈
OPEN cur_konan_Test
--변수 선언
DECLARE @v_번호 INT
DECLARE @v_우편번호 VARCHAR(3)
DECLARE @v_우편주소 VARCHAR(6)
--첫 로우 FETCH
FETCH NEXT FROM cur_konan_Test INTO @v_번호, @v_우편번호, @v_우편주소
-- @@FETCH_STATUS 는 행 반입상태
-- 0 : 성공적이다.
-- -1 : FETCH 문은 실패했거나, 행이 결과 집합의 범위를 벗어났다.
-- -2 : 반입된 행이 없다.
WHILE @@FETCH_STATUS = 0
BEGIN
--FETCH된 데이터를 tempdb에 삽입
UPDATE 우편물
SET 우편번호 = (SELECT 우편번호 FROM 우편번호 WHERE 우편주소 = @v_우편주소)
WHERE 번호 = @v_번호
--다음 로우 FEETCH - 루프
FETCH NEXT FROM cur_konan_Test INTO @v_번호, @v_우편번호, @v_우편주소
END
--커서 CLOSE
CLOSE cur_konan_Test
--커서 DEALLOCATE
DEALLOCATE cur_konan_Test
GO
Posted by 홍반장