본문 바로가기
IT/MSSQL

MSSQL 커서 사용법 (예제 포함)

by 베베야 2021. 3. 4.
728x90

오늘은 MSSQL 커서 사용법에 대해서 알아보고
추가로 이해를 돕기 위한 예제까지 다루어 보도록 하겠습니다.

 

MSSQL 커서 란?

테이블에서 여러개의 행을 조회한 후 쿼리의 결과를 한행씩 처리하는 방식입니다.
(테이블의 데이터를 커서에 담고, 한개의 행단위로 읽는 방식)

 

 

MSSQL 커서 사용법

[사전 준비]

먼저 bebeya 테이블을 생성합니다.

create table bebeya
(
name varchar(20),
age int
)


생성된 테이블에 3개의 값을 삽입합니다.

INSERT INTO bebeya VALUES('bebe', 1)
INSERT INTO bebeya VALUES('nana', 1)
INSERT INTO bebeya VALUES('sasa', 1)



테이블을 조회해 봅시다.

select * from bebeya

[커서 사용]

이제 커서를 사용해서 bebeya 테이블의 name을 @Tatal_name 컬럼에 담아서 출력해 보겠습니다.

--한개 ROW정보를 담을 변수 선언
DECLARE @name varchar(20)
DECLARE @age int
DECLARE @Tatal_name varchar(100)
set @Tatal_name =' '

-- 1. 커서 사용 선언
DECLARE bebeCS CURSOR FOR
select * from bebeya

-- 2. 커서 반복문 돌리기
OPEN bebeCS;

WHILE 1=1
BEGIN
FETCH NEXT FROM bebeCS INTO @name,@age
IF @@FETCH_STATUS <> 0 BREAK;

--반복 작업 수행
Set @Tatal_name = @Tatal_name +' | '+ @name

END
CLOSE bebeCS;
DEALLOCATE bebeCS;

--3. 결과 값 출력
select @Tatal_name as "모든 이름"

 

[커서 사용 종료]

 

예제 쿼리가 필요하신 분들은 아래의 첨부파일을 참조하세요

커서 사용 예제 쿼리.sql
0.00MB


이상으로 MSSQL 커서 사용법에 대한 포스팅을 마치겠습니다.

 

반응형
그리드형

댓글