본문 바로가기
DataBase/MS-SQL

Cursor in Stored Procedure

by 백룡화검 2010. 11. 3.

SQL Server 2005 Stored Procedure 에서 cursor 사용하는 방법을 소개한다.

간단히 설명하자면 커서를 FAST_FORWARD(빠른전진전용) 타입으로 정의하고 특정 조건에 해당하는 데이터를 조회하여 임시의 테이블에 넣는 과정을 나타내는 Stored Procedure의 일 부분이다.

-- cursor 선언 및 특성 정의, 할당

DECLARE cursorPtn CURSOR FAST_FORWARD

FOR

SELECT 필드1, 핃드2 FROM 테이블 WHERE 필드1 = 'aaa'

 

-- cursor open

OPEN cursorPtn

 

-- cursor에서 사용될 필드의 데이터 타입 정의

DECLARE @v_필드1 CHAR(12)

DECLARE @v_필드2 VARCHAR(20)

 

-- FETCH를 이용한 cursor1개의 rowset 정의

FETCH NEXT FROM cursorPtn INTO @v_필드1, @v_필드2

 

-- cursor 상태가 정상인 경우 (-1, -2 error)

WHILE @@FETCH_STATUS = 0

BEGIN

INSERT INTO 테이블2 VALUES (@v_필드1, @v_필드2)

           FETCH NEXT FROM cursorPtn INTO @v_필드1, @v_필드2

END

 

CLOSE cursorPtn

DEALLOCATE cursorPtn

Cursor 의 스크롤 동작, 특성에 대한 자세한 정보가 필요하신 분은 아래의 MSSQL 2005 온라인 설명서를 참고하기 바란다.

MSSQL2005 온라인 설명서 : Declare cursor(T-SQL)

'DataBase > MS-SQL' 카테고리의 다른 글

MS-SQL 랜덤 Select  (1) 2012.06.15
MS-SQL 커서(Cursor)를 이용한 쿼리생성 및 쿼리 실행 하기  (0) 2010.11.03
MS-SQL 커서 사용 예제  (0) 2010.11.03
프로시져 암호화  (0) 2010.09.09
[본문스크랩] SQL 강좌 5  (0) 2010.04.24