sp_cursorprepare(Transact-SQL)
커서 문이나 일괄 처리를 실행 계획으로 컴파일하되 커서를 만들지는 않습니다. 컴파일된 문은 나중에 sp_cursorexecute에서 사용할 수 있습니다. 이 프로시저는 sp_cursorexecute와 결합되어 sp_cursoropen과 동일한 기능을 제공하지만 두 단계로 분리됩니다. sp_cursorprepare는 TDS(Tabular Data Stream) 패킷에서 ID = 3을 지정하여 호출합니다.
적용 대상: SQL Server(SQL Server 2008 - 현재 버전). |
구문
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)