sp_cursorprepexec(Transact-SQL)

제출된 커서 문이나 일괄 처리에 대한 실행 계획을 컴파일한 다음 커서를 만들고 채웁니다. sp_cursorprepexec는 sp_cursorprepare와 sp_cursorexecute의 기능을 결합합니다. 이 프로시저는 TDS(Tabular Data Stream) 패킷에서 ID = 5를 지정하여 호출합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

sp_cursorprepexec prepared handle OUTPUT, cursor OUTPUT, params , statement , options
    [ , scrollopt [ , ccopt [ , rowcount ] ] ]

인수

  • prepared handle
    SQL Server에서 생성하는 준비된 핸들 식별자입니다. prepared handle은 필수 항목이며 int를 반환합니다.

  • cursor
    SQL Server에서 생성하는 커서 식별자입니다. cursor는 sp_cursorfetch.

  • params
    매개 변수가 있는 문을 식별합니다. 문에서 매개 변수 표식은 변수의 params 정의로 바뀝니다. params는 ntext, nchar 또는 nvarchar 입력 값을 필요로 하는 필수 매개 변수입니다.

    [!참고]

    stmt에 매개 변수가 있고 scrollopt PARAMETERIZED_STMT 값이 ON이면 ntext 문자열을 입력 값으로 사용합니다.

  • statement
    커서 결과 집합을 정의합니다. statement 매개 변수는 필수 항목이며 ntext, nchar 또는 nvarchar 입력 값을 필요로 합니다.

    [!참고]

    stmt 값을 지정하는 규칙은 sp_cursoropen의 규칙과 동일합니다. 단, stmt 문자열 데이터 형식은 ntext여야 합니다.

  • options
    커서 결과 집합 열의 설명을 반환하는 선택적 매개 변수입니다. options는 다음 int 입력 값을 필요로 합니다.

    설명

    0x0001

    RETURN_METADATA

  • scrollopt
    스크롤 옵션입니다. scrollopt는 다음 int 입력 값 중 하나를 필요로 하는 선택적 매개 변수입니다.

    설명

    0x0001

    KEYSET

    0x0002

    DYNAMIC

    0x0004

    FORWARD_ONLY

    0x0008

    STATIC

    0x10

    FAST_FORWARD

    0x1000

    PARAMETERIZED_STMT

    0x2000

    AUTO_FETCH

    0x4000

    AUTO_CLOSE

    0x8000

    CHECK_ACCEPTED_TYPES

    0x10000

    KEYSET_ACCEPTABLE

    0x20000

    DYNAMIC_ACCEPTABLE

    0x40000

    FORWARD_ONLY_ACCEPTABLE

    0x80000

    STATIC_ACCEPTABLE

    0x100000

    FAST_FORWARD_ACCEPTABLE

    요청한 옵션이 <stmt>에서 정의한 커서에 대해 적합하지 않을 수 있으므로, 이 매개 변수는 입력과 출력 둘 다로 사용됩니다. 이러한 경우 SQL Server에서 적절한 형식을 할당하고 이 값을 수정합니다.

  • ccopt
    동시성 제어 옵션입니다. ccopt는 다음 int 입력 값 중 하나를 필요로 하는 선택적 매개 변수입니다.

    설명

    0x0001

    READ_ONLY

    0x0002

    SCROLL_LOCKS(이전의 LOCKCC)

    0x0004

    OPTIMISTIC(이전의 OPTCC)

    0x0008

    OPTIMISTIC(이전의 OPTCCVAL)

    0x2000

    ALLOW_DIRECT

    0x4000

    UPDT_IN_PLACE

    0x8000

    CHECK_ACCEPTED_OPTS

    0x10000

    READ_ONLY_ACCEPTABLE

    0x20000

    SCROLL_LOCKS_ACCEPTABLE

    0x40000

    OPTIMISTIC_ACCEPTABLE

    0x80000

    OPTIMISITC_ACCEPTABLE

    scrollpt와 마찬가지로 SQL Server에서는 요청된 값과 다른 값도 할당할 수 있습니다.

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

    입력 값일 때

    반환 값일 때

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

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

반환 코드 값

params가 NULL 값을 반환하는 경우 문에 매개 변수가 없는 것입니다.

참고 항목

참조

sp_cursoropen(Transact-SQL)

sp_cursorexecute(Transact-SQL)

sp_cursorprepare(Transact-SQL)

sp_cursorfetch(Transact-SQL)

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