SQLSetDescRec
이 항목에서는 SQL Server Native Client의 고유한 SQLSetDescRec 기능에 대해 설명합니다.
SQLSetDescRec 및 테이블 반환 매개 변수
SQLSetDescRec를 사용하여 테이블 반환 매개 변수 및 테이블 반환 매개 변수 열의 설명자 필드를 설정할 수 있습니다. 테이블 반환 매개 변수 열은 설명자 헤더 필드 SQL_SOPT_SS_PARAM_FOCUS가 SQL_DESC_TYPE이 SQL_SS_TABLE로 설정된 레코드의 서수로 설정된 경우에만 사용할 수 있습니다. SQL_SOPT_SS_PARAM_FOCUS에 대한 자세한 내용은 SQLSetStmtAttr을 참조하십시오.
다음 표에서는 매개 변수와 설명자 필드 간의 매핑에 대해 설명합니다.
매개 변수 |
테이블 반환 매개 변수 열을 비롯한 테이블 반환 매개 변수가 아닌 유형에 대한 관련 특성 |
테이블 반환 매개 변수에 대한 관련 특성 |
---|---|---|
Type |
SQL_DESC_TYPE |
SQL_SS_TABLE |
SubType |
무시됨 |
SQL_DATETIME 또는 SQL_INTERVAL 유형의 레코드에 대해 이 값을 SQL_DESC_DATETIME_INTERVAL_CODE로 설정합니다. |
Length |
SQL_DESC_OCTET_LENGTH |
테이블 반환 매개 변수 유형 이름의 길이입니다. 유형 이름이 null로 끝나는 경우 SQL_NTS이고, 테이블 반환 매개 변수 유형 이름이 필요하지 않은 경우 0입니다. |
Precision |
SQL_DESC_PRECISION |
SQL_DESC_ARRAY_SIZE |
Scale |
SQL_DESC_SCALE |
사용되지 않습니다. 이 매개 변수는 0이어야 합니다. |
DataPtr |
APD의 SQL_DESC_DATA_PTR |
SQL_CA_SS_TYPE_NAME 저장 프로시저 호출에서 이 매개 변수는 선택 사항이며, 필요하지 않은 경우 NULL을 지정할 수 있습니다. 프로시저 호출이 아닌 SQL 문에 대해서는 이 매개 변수를 지정해야 합니다. 또한 DataPtr은 변수 행 바인딩을 사용할 때 응용 프로그램에서 이 테이블 반환 매개 변수를 식별하는 데 사용할 수 있는 고유 값으로도 사용됩니다. |
StringLengthPtr |
SQL_DESC_OCTET_LENGTH_PTR |
SQL_DESC_OCTET_LENGTH_PTR 테이블 반환 매개 변수의 경우 이 값은 전송할 행 수나 SQL_DATA_AT_EXEC입니다. SQLExecDirect를 사용하여 전송할 행 수가 포함된 값에 대한 포인터입니다. |
IndicatorPtr |
SQL_DESC_INDICATOR_PTR |
SQL_DESC_INDICATOR_PTR |
테이블 반환 매개 변수에 대한 자세한 내용은 테이블 반환 매개 변수(ODBC)를 참조하십시오.
향상된 날짜 및 시간 기능에 대한 SQLSetDescRec 지원
날짜/시간 유형에 대해 허용되는 값은 다음과 같습니다.
Type |
SubType |
Length |
Precision |
Scale |
|
---|---|---|---|---|---|
datetime |
SQL_DATETIME |
SQL_CODE_TIMESTAMP |
4 |
3 |
3 |
smalldatetime |
SQL_SQL_DATETIME |
SQL_CODE_TIMESTAMP |
8 |
0 |
0 |
date |
SQL_DATETIME |
SQL_CODE_DATE |
6 |
0 |
0 |
time |
SQL_SS_TIME2 |
0 |
10 |
0..7 |
0..7 |
datetime2 |
SQL_DATETIME |
SQL_CODE_TIMESTAMP |
16 |
0..7 |
0..7 |
datetimeoffset |
SQL_SS_TIMESTAMPOFFSET |
0 |
20 |
0..7 |
0..7 |
자세한 내용은 날짜/시간 기능 향상(ODBC)을 참조하십시오.
큰 CLR UDT에 대한 SQLSetDescRec 지원
SQLSetDescRec는 큰 CLR UDT(사용자 정의 형식)를 지원합니다. 자세한 내용은 큰 CLR 사용자 정의 형식(ODBC)을 참조하십시오.