Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Este tópico discute a funcionalidade do SQLSetDescRec que é específica do SQL Server Native Client.
SQLSetDescRec e Parâmetros Table-Valued
O SQLSetDescRec pode ser usado para definir campos de descrição para parâmetros de tabela e colunas de parâmetros com valor de tabela. Colunas de parâmetros com valores de tabela só estão disponíveis quando o campo de cabeçalho do descritor SQL_SOPT_SS_PARAM_FOCUS está definido para o ordinal de um registo que tem SQL_DESC_TYPE definido para SQL_SS_TABLE. Para mais informações sobre SQL_SOPT_SS_PARAM_FOCUS, consulte SQLSetStmtAttr.
A tabela seguinte descreve o mapeamento entre parâmetros e campos de descritores.
| Parâmetro | Atributo relacionado para tipos de parâmetros não com valores em tabelas, incluindo colunas de parâmetros com valores em tabela | Atributo relacionado para parâmetros com valores de tabela |
|---|---|---|
| Type | SQL_DESC_TYPE | SQL_SS_TABLE |
| Subtipo | Ignored | Para registos do tipo SQL_DATETIME ou SQL_INTERVAL, defina isto para SQL_DESC_DATETIME_INTERVAL_CODE. |
| Duração | SQL_DESC_OCTET_LENGTH | O comprimento do nome do tipo de parâmetro com valores na tabela. Isto pode ser SQL_NTS se o nome do tipo for terminado nulo, ou zero se o nome do tipo de parâmetro com valores de tabela não for necessário. |
| Precisão | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
| Scale | SQL_DESC_SCALE | Unused. Este parâmetro deve ser zero. |
| DataPtr | SQL_DESC_DATA_PTR em APD | SQL_CA_SS_TYPE_NAME Este parâmetro é opcional para chamadas de stored procedure, e NULL pode ser especificado se não for necessário. Este parâmetro deve ser especificado para instruções SQL que não são chamadas de procedimento. O DataPtr serve também como um valor único que a aplicação pode usar para identificar este parâmetro de tabela quando é usada a ligação de linhas de variáveis. |
| StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR Para um parâmetro com valor em tabela, este é o número de linhas a transferir ou SQL_DATA_AT_EXEC. Este é um apontador para um valor que contém o número de linhas a transferir com SQLExecDirect. |
| IndicatorPtr | SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
Para mais informações sobre parâmetros com valores de tabela, veja Table-Valued Parâmetros (ODBC).
Suporte SQLSetDescRec para funcionalidades melhoradas de data e hora
Os valores permitidos para tipos de data/hora são os seguintes:
| Attribute | Type | Subtipo | Duração | Precisão | 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 |
Para obter mais informações, consulte Melhorias de data e hora (ODBC).
Suporte SQLSetDescRec para grandes CLR UDTs
O SQLSetDescRec suporta grandes tipos CLR definidos pelo utilizador (UDTs). Para obter mais informações, consulte Large CLR User-Defined Types (ODBC).