반응형
- /**********************************************************************************************
-- Title : [2k5] 커서의 암시적 형변환
-- Reference : hanbitbook.co.kr
-- Key word : cursor 커서 keyset 키셋
**********************************************************************************************/
USE sqlDB;
GO - DROP TABLE keysetTbl;
GO - CREATE TABLE keysetTbl(id INT, txt CHAR(5));
GO - INSERT INTO keysetTbl VALUES(1,'AAA');
INSERT INTO keysetTbl VALUES(2,'BBB');
INSERT INTO keysetTbl VALUES(3,'CCC');
GO - DECLARE keysetTbl_cursor CURSOR GLOBAL FORWARD_ONLY KEYSET
FOR SELECT id, txt FROM keysetTbl; - --Keyset이 아닌 Static으로 설정됨(model:1)
--KEYSET에 CL, UQ가 없으면 STATIC으로 암시적 형변환 발생.
DECLARE @result CURSOR; - EXEC sp_describe_cursor @cursor_return = @result OUTPUT,
@cursor_source = N'GLOBAL', @cursor_identity = N'keysetTbl_cursor'; - FETCH NEXT from @result
WHILE (@@FETCH_STATUS <> -1)
FETCH NEXT FROM @result - OPEN keysetTbl_cursor;
- FETCH NEXT FROM keysetTbl_cursor;
- UPDATE keysetTbl SET txt = 'ZZZ';
- FETCH NEXT FROM keysetTbl_cursor;
- CLOSE keysetTbl_cursor;
DEALLOCATE keysetTbl_cursor;
GO
반응형