sp_cursoroption(Transact-SQL)
sp_cursoropen 저장 프로시저에서 만든 커서 정보를 반환하거나 커서 옵션을 설정합니다. sp_cursoroption은 TDS(Tabular Data Stream) 패킷에서 ID = 8을 지정하여 호출합니다.
구문
sp_cursoroption cursor, code, value
인수
cursor
SQL Server에서 생성되며 sp_cursoropen 저장 프로시저에서 반환되는 핸들 값입니다. cursor는 실행을 위해 int 입력 값을 필요로 합니다.code
커서 반환 값의 여러 요인을 규정하는 데 사용됩니다. code는 다음 int 입력 값 중 하나를 필요로 합니다.값
이름
설명
0x0001
TEXTPTR_ONLY
지정된 특정 텍스트 또는 이미지 열에 대해 실제 데이터가 아닌 텍스트 포인터를 반환합니다.
TEXTPTR_ONLY는 BLOB 개체에 대해 텍스트 포인터를 핸들로 사용할 수 있도록 허용합니다. 이러한 개체는 나중에 Transact-SQL 또는 DBLIB 기능(예: Transact-SQL READTEXT 또는 DBLIB DBWRITETEXT)을 사용하여 선택적으로 검색하거나 업데이트할 수 있습니다.
"0" 값을 할당하면 선택 목록에 있는 모든 텍스트 및 이미지 열이 데이터가 아닌 텍스트 포인터를 반환합니다.
0x0002
CURSOR_NAME
value에 지정된 이름을 커서에 할당합니다. 이렇게 하면 ODBC가 sp_cursoropen을 통해 연 커서에 Transact-SQL 현재 위치 UPDATE/DELETE 문을 사용할 수 있습니다.
문자열은 원하는 문자나 유니코드 데이터 형식으로 지정할 수 있습니다.
Transact-SQL 현재 위치 UPDATE/DELETE 문은 기본적으로 여러 행이 포함된 커서의 첫 번째 행에서 작동하므로 현재 위치 UPDATE/DELETE 문을 실행하기 전에 sp_cursor SETPOSITION을 사용하여 커서를 배치해야 합니다.
0x0003
TEXTDATA
후속 인출에서 특정 텍스트 또는 이미지 열에 대해 텍스트 포인터가 아닌 실제 데이터를 반환합니다. 즉, TEXTPTR_ONLY의 효과를 실행 취소합니다.
특정 열에 대해 TEXTDATA를 설정하면 행을 다시 인출하거나 새로 고치며, 그런 다음 행을 TEXTPTR_ONLY로 다시 설정할 수 있습니다. TEXTPTR_ONLY와 마찬가지로 값 매개 변수는 열 번호를 지정하는 정수이며, 값이 0이면 모든 텍스트 또는 이미지 열이 반환됩니다.
0x0004
SCROLLOPT
스크롤 옵션입니다. 자세한 내용은 이 항목의 뒷부분에 나오는 "반환 코드 값"을 참조하십시오.
0x0005
CCOPT
동시성 제어 옵션입니다. 자세한 내용은 이 항목의 뒷부분에 나오는 "반환 코드 값"을 참조하십시오.
0x0006
ROWCOUNT
현재 결과 집합에 있는 행의 수입니다.
[!참고]
비동기 채우기를 사용 중인 경우에는 sp_cursoropen에서 값이 반환된 이후 ROWCOUNT가 변경되었을 수 있습니다. 행 수를 알 수 없는 경우에는 값 -1이 반환됩니다.
value
code에서 반환하는 값을 지정합니다. value는 0x0001, 0x0002 또는 0x0003 code 입력 값을 호출하는 필수 매개 변수입니다.[!참고]
code 값이 2이면 데이터 형식은 문자열입니다. value에서 반환하거나 입력되는 기타 모든 code 값은 정수입니다.
반환 코드 값
value 매개 변수는 다음 code 값 중 하나를 반환할 수 있습니다.
반환 값 |
설명 |
---|---|
0x0004 |
SCROLLOPT |
0X0005 |
CCOPT |
0X0006 |
ROWCOUNT |
value 매개 변수는 다음 SCROLLOPT 값 중 하나를 반환합니다.
반환 값 |
설명 |
---|---|
0x0001 |
KEYSET |
0x0002 |
DYNAMIC |
0x0004 |
FORWARD_ONLY |
0x0008 |
STATIC |
value 매개 변수는 다음 CCOPT 값 중 하나를 반환합니다.
반환 값 |
설명 |
---|---|
0x0001 |
READ_ONLY |
0x0002 |
SCROLL_LOCKS |
0x0004 또는 0x0008 |
OPTIMISTIC |