암시적 커서 변환 사용

응용 프로그램에서 커서 유형을 요청한 다음 요청한 유형의 서버 커서에서 지원하지 않는 Transact-SQL 문을 실행할 수 있습니다. MicrosoftSQL Server는 커서 유형이 변경되었음을 나타내는 오류를 반환합니다. 이를 암시적 커서 변환이라고 하며 경우에 따라 커서 수준 내리기(cursor degradation)라고도 합니다.

다음은 SQL Server가 암시적 커서 유형 변환을 시작하는 요인입니다.

단계

변환 원인

정방향 전용

키 집합

동적

다음 단계

1

쿼리 FROM 절이 테이블을 참조하지 않을 때

정적

정적

정적

완료

2

쿼리에서 다음을 포함할 때: GROUP BY UNION DISTINCT HAVING 집계 SELECT 목록

정적

정적

정적

완료

3

쿼리가 내부 작업 테이블을 생성할 때(예: ORDER BY의 열이 인덱스에 의해 변환되지 않을 때)

키 집합

 

키 집합

5

4

쿼리가 연결된 서버의 원격 테이블을 참조할 때

키 집합

 

키 집합

5

5

쿼리가 고유 인덱스 없이 하나 이상의 테이블을 참조할 때(Transact-SQL 커서에만 해당)

 

정적

 

완료

[!참고]

빠른 정방향 전용 커서는 변환되지 않습니다.

[!참고]

키 집합과 동적 커서는 기본 테이블에 고유 인덱스가 없거나 쿼리가 기본 테이블의 키 열을 직접 반환하지 않는 경우에만 변환됩니다. 예를 들어 쿼리에 집계 함수나 집합 연산자가 포함되는 경우가 이에 해당됩니다.

참고 항목

개념