sp_cursorexecute(Transact-SQL)
적용 대상: SQL Server
에서 만든 실행 계획에 따라 커서를 만들고 sp_cursorprepare
채웁니다. 이 프로시저와 결합 sp_cursorprepare
된 이 프로시저는 함수와 동일 sp_cursoropen
하지만 두 단계로 분할됩니다. sp_cursorexecute
는 TDS(테이블 형식 데이터 스트림) 패킷을 지정하여 ID = 4
호출됩니다.
구문
sp_cursorexecute prepared_handle , cursor
[ , scrollopt [ OUTPUT ]
[ , ccopt [ OUTPUT ]
[ , rowcount OUTPUT [ , bound param ] [ , ...n ] ] ] ]
[ ; ]
인수
prepared_handle
에서 반환하는 sp_cursorprepare
준비된 문 핸들 값입니다. prepared_handle 매개 변수는 int이며 사용할 수 없습니다NULL
.
cursor
데이터베이스 엔진 생성된 커서 식별자입니다. 커서는 커서에 대해 작동하는 모든 후속 프로시저에서 제공해야 하는 필수 매개 변수입니다(예: sp_cursorfetch
.).
scrollopt
스크롤 옵션입니다. scrollopt 매개 변수는 int이며 기본값은 .입니다NULL
. sp_cursorexecute
scrollopt 매개 변수의 값 옵션은 sp_cursoropen
.
이 값은 PARAMETERIZED_STMT
지원되지 않습니다.
scrollopt 값을 지정하지 않으면 기본값은 KEYSET
에 지정된 scrollopt 값에 관계없이 지정됩니다sp_cursorprepare
.
ccopt
통화 제어 옵션입니다. ccopt는 int 입력 값이 필요한 선택적 매개 변수입니다. sp_cursorexecute
ccopt 매개 변수의 값 옵션은 sp_cursoropen
.
ccopt 값을 지정하지 않으면 기본값은 OPTIMISTIC
에 지정된 ccopt 값에 sp_cursorprepare
관계없이 지정됩니다.
rowcount
사용할 페치 버퍼 행의 수를 나타내는 선택적 매개 변수입니다 AUTO_FETCH
. 기본값은 20개 행입니다. rowcount 는 입력 값과 반환 값으로 할당되는 경우 다르게 동작합니다.
입력 값으로 | 반환 값으로 |
---|---|
AUTO_FETCH 커서를 사용하여 FAST_FORWARD 지정하면 행 개수는 페치 버퍼에 배치할 행 수를 나타냅니다. |
결과 집합의 행 수를 나타냅니다. scrollopt AUTO_FETCH 값을 지정하면 행 개수는 페치 버퍼로 페치된 행 수를 반환합니다. |
bound_param
추가 매개 변수의 선택적 사용을 의미합니다.
다섯 번째 매개 변수 이후의 모든 매개 변수는 문 계획에 입력 매개 변수로 전달됩니다.
반환 코드 값
rowcount 는 다음 값을 반환합니다.
값 | 설명 |
---|---|
-1 |
행 수를 알 수 없습니다. |
-n |
비동기 채우기가 적용됩니다. |
설명
scrollopt 및 ccopt 매개 변수
scrollopt 및 ccopt 는 서버 캐시에 대해 캐시된 계획을 선점할 때 유용합니다. 즉, 문을 식별하는 준비된 핸들을 다시 컴파일해야 합니다. scrollopt 및 ccopt 매개 변수 값은 원래 요청sp_cursorprepare
에서 보낸 값과 일치해야 합니다.
PARAMETERIZED_STMT
scrollopt에 할당하면 안 됩니다.
일치하는 값을 제공하지 않으면 계획이 다시 컴파일되어 준비 및 실행 작업이 무효화됩니다.
RPC 및 TDS 고려 사항
RPC RETURN_METADATA
입력 플래그는 커서 선택 목록 메타데이터가 TDS 스트림에 반환되도록 요청하도록 1
설정할 수 있습니다.