SQLSetDescRec
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics
Este tópico discute a funcionalidade SQLSetDescRec específica do SQL Server Native Client.
SQLSetDescRec e parâmetros com valor de tabela
SQLSetDescRec pode ser usado para definir campos de descritor para parâmetros com valor de tabela e colunas de parâmetro com valor de tabela. As colunas do parâmetro com valor de tabela ficam disponíveis somente quando o campo do cabeçalho do descritor SQL_SOPT_SS_PARAM_FOCUS é definido como o ordinal de um registro que tenha SQL_DESC_TYPE definido como SQL_SS_TABLE. Para obter mais informações sobre SQL_SPOT_SS_PARAM_FOCUS, consulte SQLSetStmtAttr.
A seguinte tabela descreve o mapeamento entre parâmetros e campos de descritor.
Parâmetro | Atributo relacionado para tipos de parâmetro sem valor de tabela, incluindo colunas de parâmetro com valor de tabela | Atributo relacionado para parâmetros com valor de tabela |
---|---|---|
Tipo | SQL_DESC_TYPE | SQL_SS_TABLE |
SubType | Ignorado | Para registros de tipo SQL_DATETIME ou SQL_INTERVAL, defina como SQL_DESC_DATETIME_INTERVAL_CODE. |
Comprimento | SQL_DESC_OCTET_LENGTH | O comprimento do nome do tipo de parâmetro com valor de tabela. Isso poderá ser SQL_NTS se o nome do tipo terminar com caractere nulo ou zero se o nome do tipo de parâmetro com valor de tabela não for necessário. |
Precisão | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
Escala | SQL_DESC_SCALE | Não utilizado. O parâmetro deve ser zero. |
DataPtr | SQL_DESC_DATA_PTR em APD | SQL_CA_SS_TYPE_NAME O parâmetro é opcional para chamadas de procedimento armazenado e NULL poderá ser especificado se ele não for necessário. Esse parâmetro deve ser especificado para instruções SQL que não sejam chamadas de procedimento. DataPtr também serve como um valor exclusivo que o aplicativo pode usar para identificar esse parâmetro com valor de tabela quando a associação de linha variável é usada. |
StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR Para um parâmetro com valor de tabela, trata-se do número de linhas de transferência ou SQL_DATA_AT_EXEC. Esse é um ponteiro para um valor que contém o número de linhas a serem transferidas com SQLExecDirect. |
IndicadorPtr | SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
Para obter mais informações sobre parâmetros com valor de tabela, consulte ODBC (Parâmetros com valor de tabela).
Suporte de SQLSetDescRec a recursos aprimorados de data e hora
Os valores permitidos para tipos de data/hora são os seguintes:
Atributo | Tipo | SubType | Comprimento | Precisão | Escala |
---|---|---|---|---|---|
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 |
Para obter mais informações, consulte Melhorias de data e hora (ODBC).
Suporte de SQLSetDescRec para UDTs CLR grandes
SQLSetDescRec dá suporte a UDTs (tipos definidos pelo usuário) CLR grandes. Para obter mais informações, consulte ODBC (Tipos Definidos pelo Usuário) CLR Grandes.