sp_cursorprepare(Transact-SQL)

커서 문이나 일괄 처리를 실행 계획으로 컴파일하되 커서를 만들지는 않습니다. 컴파일된 문은 나중에 sp_cursorexecute에서 사용할 수 있습니다. 이 프로시저는 sp_cursorexecute와 결합되어 sp_cursoropen과 동일한 기능을 제공하지만 두 단계로 분리됩니다. sp_cursorprepare는 TDS(Tabular Data Stream) 패킷에서 ID = 3을 지정하여 호출합니다.

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

구문

sp_cursorprepare prepared_handle OUTPUT, params , stmt , options
    [ , scrollopt [ , ccopt ] ]

인수

  • prepared_handle
    SQL Server에서 생성하는 준비된 핸들 식별자로, 정수 값을 반환합니다.

    [!참고]

    prepared_handle은 이후에 커서를 열기 위해 sp_cursorexecute 프로시저에 제공됩니다. 작성된 핸들은 로그오프하거나 sp_cursorunprepare 프로시저를 통해 명시적으로 핸들을 제거할 때까지 존재합니다.

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

    [!참고]

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

  • stmt
    커서 결과 집합을 정의합니다. stmt 매개 변수는 필수 항목이며 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에서는 요청된 값과 다른 값도 할당할 수 있습니다.

주의

RPC 상태 매개 변수는 다음 중 하나일 수 있습니다.

설명

0

성공

0x0001

실패

1FF6

메타데이터를 반환할 수 없습니다.

[!참고]

원인은 문에서 결과 집합을 생성하지 않기 때문입니다(예: INSERT 또는 DDL 문인 경우).

stmt에 매개 변수가 있고 scrollopt PARAMETERIZED_STMT 값이 ON일 때 문자열의 형식은 다음과 같습니다.

{ <local variable name> <data type> } [ ,…n ]

참고 항목

참조

sp_cursorexecute(Transact-SQL)

sp_cursoropen(Transact-SQL)

sp_cursorunprepare(Transact-SQL)

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