loading

프로그래밍/MS-SQL

CURSOR란? - (1)

침착곰 2016. 4. 13. 15:33
반응형

- 데이터베이스의 커서란?

일련의 데이터에 순차적으로 액세스할 때 검색 및 “현재 위치”를 포함하는 데이터 요소입니다.

- 개요

일반적으로 데이터베이스는 같은 종류의 데이터를 많이 축적하고 있으며, 이용자가 요청하는 데이터는 1건 또는 여러 건이 될 수 있다. 이런 경우는 커서를 사용하여 다음과 같이 반복자의 요령으로 실현할 수 있습니다.

1. 이용자는 검색 및 정렬 순서를 지정하여 커서를 정의합니다.

2. 매개 변수를 사용하는 경우 값을 결정하고 데이터 액세스를 시작합니다.

3. 커서 위치의 데이터를 검색합니다. 검색 결과의 끝이라면 7에.

4. 필요에 따라 커서 위치의 데이터를 변경, 삭제합니다.

5. 커서를 “다음 데이터”로 진행합니다.

6. 3 반복

7. 반복 종료 후 커서를 풀어 놓습니다.

시스템에 따라 5에서 다음 데이터를 계속 이외에 하나 전의 데이터로 돌아가는 것도 허용하고 있습니다.

- SQL문 예

DECLARE CURSOR로 커서를 선언

FETCH에서 커서 위치의 데이터를 검색하는 것과 동시에 다음 데이터로 이동

UPDATE또는 DELETE로 “WHERE CURRENT OF 커서 이름”을 지정하여 커서 위치의 데이터를 조작

CLOSE로 풀어놓는다.

DECLARE CURSOR (커서 정의)

OPEN(커서 열기)

FETCH(커서 포인터가 가리키는 위치의 행 데이터를 검색하고 포인터를 일행 분 진행)

UPDATE (커서 포인터가 가리키는 위치의 행 데이터 업데이트)

DELETE (커서 포인터가 가리키는 위치의 행 데이터 삭제)

CLOSE(커서 닫기)



- 커서 주요 명령문 및 커서 관리 Stored Procedure

- 커서 명령문 -

- FETCH NEXT

현재 행 바로 다음의 결과 행을 반환합니다.

커서에 대해 FETCH NEXT가 첫 번째 인출인 경우에는 결과 집합의 첫 번째 행을 반환

- FETCH PRIOR

현재 행 바로 앞의 결과 행을 반환합니다.

커서에 대해 FETCH PRIOR가 첫 번째 인출인 경우에는 행이 반환하지 않으며 커서는 첫 번째 행 앞에 위치하게 됩니다.

- FETCH FIRST

커서의 첫 번째 행을 반환합니다.

- FETCH LAST

커서의 마지막 행을 반환합니다.

- 커서 관리 Stored Procedure -

- sp_cursor_list

커서 목록과 그 특성을 반환합니다.

- sp_describe_cursor

정방향, 스크롤 커서 등의 커서 특성을 설명합니다.

- sp_describe_cursor_columns

결과 집합에서 열의 특성을 설명합니다.

- sp_describe_cursor_tables

액세스되는 기본 테이블을 설명합니다.


다음 글에서는 간단하게 CURSOR에 대해서 제가 실습해본 예제를 들어서 설명하겠습니다.

다음 글 : CURSOR 실습 - (2)


반응형
그리드형

'프로그래밍 > MS-SQL' 카테고리의 다른 글

CURSOR 실습 - (3)  (0) 2016.04.13
CURSOR 실습 - (2)  (0) 2016.04.13
Temp Table이란?  (0) 2016.04.13
SQL문 실습 - Date Function(1)  (0) 2016.04.13
SQL문 실습 - numeric function  (0) 2016.04.13