다음을 통해 공유


sp_cursorexecute(Transact-SQL)

적용 대상: SQL Server

에서 만든 실행 계획에 따라 커서를 만들고 sp_cursorprepare채웁니다. 이 프로시저와 결합 sp_cursorprepare된 이 프로시저는 함수와 동일 sp_cursoropen하지만 두 단계로 분할됩니다. sp_cursorexecute 는 TDS(테이블 형식 데이터 스트림) 패킷을 지정하여 ID = 4 호출됩니다.

Transact-SQL 구문 표기 규칙

구문

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_cursorexecuteccopt 매개 변수의 값 옵션은 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 매개 변수

scrolloptccopt 는 서버 캐시에 대해 캐시된 계획을 선점할 때 유용합니다. 즉, 문을 식별하는 준비된 핸들을 다시 컴파일해야 합니다. scrollopt 및 ccopt 매개 변수 값은 원래 요청sp_cursorprepare에서 보낸 값과 일치해야 합니다.

PARAMETERIZED_STMTscrollopt할당하면 안 됩니다.

일치하는 값을 제공하지 않으면 계획이 다시 컴파일되어 준비 및 실행 작업이 무효화됩니다.

RPC 및 TDS 고려 사항

RPC RETURN_METADATA 입력 플래그는 커서 선택 목록 메타데이터가 TDS 스트림에 반환되도록 요청하도록 1 설정할 수 있습니다.