sp_cursorexecute(Transact-SQL)

sp_cursorprepare가 만든 실행 계획을 기반으로 커서를 만들고 채웁니다. 이 프로시저는 sp_cursorprepare와 결합되어 sp_cursoropen과 동일한 기능을 제공하지만 두 단계로 분리됩니다. sp_cursorexecute는 TDS(Tabular Data Stream) 패킷에서 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 입력 값을 필요로 하는 필수 매개 변수입니다.

  • cursor
    SQL Server에서 생성하는 커서 식별자입니다. cursor 커서에 대해 작동하는 모든 후속 프로시저에 제공해야 하는 필수 매개 변수입니다(예: sp_cursorfetch

  • scrollopt
    스크롤 옵션입니다. scrollopt는 int 입력 값을 필요로 하는 선택적 매개 변수입니다. sp_cursorexecute scrollopt 매개 변수는 sp_cursoropen과 같은 값 옵션을 포함합니다.

    [!참고]

    PARAMETERIZED_STMT 값은 지원되지 않습니다.

    중요 정보중요

    scrollopt 값을 지정하지 않으면 sp_cursorprepare에서 지정한 scrollopt 값에 관계없이 기본값은 KEYSET입니다.

  • ccopt
    통화 제어 옵션입니다. ccopt는 int 입력 값을 필요로 하는 선택적 매개 변수입니다. sp_cursorexecute ccopt 매개 변수는 sp_cursoropen과 같은 값 옵션을 포함합니다.

    중요 정보중요

    ccopt 값을 지정하지 않으면 sp_cursorprepare에서 지정한 ccopt 값에 관계없이 기본값은 OPTIMISTIC입니다.

  • rowcount
    AUTO_FETCH에 사용할 인출 버퍼 행 수를 나타내는 선택적 매개 변수입니다. 기본값은 20개 행입니다. rowcount는 반환 값으로 할당할 때와 입력 값으로 할당할 때 서로 다르게 동작합니다.

    입력 값일 때

    반환 값일 때

    FAST_FORWARD 커서를 사용하여 AUTO_FETCH를 지정하면 rowcount는 인출 버퍼에 배치할 행 수를 나타냅니다.

    결과 집합의 행 수를 나타냅니다. scrollopt AUTO_FETCH 값을 지정하면 rowcount는 인출 버퍼로 인출된 행 수를 반환합니다.

  • bound_param
    추가 매개 변수의 선택적 사용을 나타냅니다.

    [!참고]

    5번째 매개 변수 다음의 모든 매개 변수는 문 계획에 입력 매개 변수로 전달됩니다.

코드 반환 값

rowcount는 다음 값을 반환할 수 있습니다.

설명

-1

행 수를 알 수 없습니다.

-n

비동기 채우기가 적용됩니다.

주의

scrollopt 및 ccopt 매개 변수

scrollopt 및 ccopt는 캐시된 계획이 서버 캐시에 대해 우선적으로 사용되는 경우, 즉 문을 식별하는 준비된 핸들을 다시 컴파일해야 하는 경우 유용합니다. scrollopt 및 ccopt 매개 변수 값은 원래 요청에 포함되어 sp_cursorprepare로 전송되는 값과 일치해야 합니다.

[!참고]

PARAMETERIZED_STMT를 scrollopt에 할당해서는 안 됩니다.

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

RPC 및 TDS 고려 사항

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

참고 항목

참조

sp_cursoropen(Transact-SQL)

sp_cursorfetch(Transact-SQL)

시스템 저장 프로시저(Transact-SQL)