Compartilhar via


Campos de descritor para colunas constituintes do parâmetro Table-Valued

Os campos de descritor de parâmetro com valor de tabela descritos nesta seção são manipulados usando SQLSetDescField e SQLSetDescField com o identificador do IPD (descritor de parâmetro de implementação).

Observações

SQL_DESC_AUTO_UNIQUE_VALUE é usado para parâmetros com valor de tabela, bem como outros recursos.

Nome do atributo Tipo Descrição
SQL_DESC_AUTO_UNIQUE_VALUE SQLINTEGER SQL_TRUE indica que essa coluna é uma coluna de identidade.

O SQL Server pode usar essas informações para otimizar o desempenho, mas os aplicativos não são necessários para defini-lo para colunas de identidade.

Os atributos a seguir são adicionados a todos os tipos de parâmetro no APD (descritor de parâmetro de aplicativo) e ao descritor de parâmetro de implementação (IPD):

Nome do atributo Tipo Descrição
SQL_CA_SS_COLUMN_COMPUTED SQLSMALLINT SQL_TRUE indica que essa coluna é computada.

O SQL Server pode usar essas informações para otimizar o desempenho, mas os aplicativos não são necessários para defini-lo para colunas computadas.

Esse atributo é ignorado para associações que não são colunas de parâmetro com valor de tabela.
SQL_CA_SS_COLUMN_IN_UNIQUE_KEY SQLSMALLINT SQL_TRUE indica que uma coluna de parâmetro com valor de tabela participa de uma chave exclusiva. Isso pode resultar em um melhor desempenho de consulta. Esse atributo é ignorado para associações que não são colunas de parâmetro com valor de tabela.
SQL_CA_SS_COLUMN_SORT_ORDER SQLSMALLINT Indica a ordem de classificação de uma coluna de parâmetro com valor de tabela. Isso pode resultar em um melhor desempenho de consulta. Esse atributo é ignorado para associações que não são colunas de parâmetro com valor de tabela. Os valores possíveis são os seguintes:

- SQL_SS_ASCENDING_ORDER
- SQL_SS_DESCENDING_ORDER
- SQL_SS_ORDER_UNSPECIFIED

Valores diferentes de SQL_SS_ASCENDING_ORDER e SQL_SS_DESCENDING_ORDER geram um erro com SQLSTATE HY024 e mensagem "Valor de atributo inválido" e são tratados como SQL_SS_ORDER_UNSPECIFIED, que é o valor padrão para esse atributo.
SQL_CA_SS_COLUMN_SORT_ORDINAL SQLSMALLINT Indica o ordinal de uma coluna de parâmetro com valor de tabela no conjunto de colunas que definem a ordenação geral para um parâmetro com valor de tabela. Isso pode resultar em um melhor desempenho de consulta. Esse atributo é ignorado para associações que não são colunas de parâmetro com valor de tabela. Os ordinais de classificação começam em 1. Um valor de 0, o padrão, indica que uma coluna de parâmetro com valor de tabela não tem ordenação de coluna.
SQL_CA_SS_COLUMN_HAS_DEFAULT_VALUE SQLSMALLINT Indica se todas as linhas no parâmetro com valor de tabela terão o valor padrão para esta coluna. Para parâmetros com valor de tabela, não é possível selecionar o valor padrão em uma base linha por linha. Um valor de SQL_FALSE indica que as linhas terão valores não padrão. Esse é o padrão. Um valor de SQL_TRUE indica que esta coluna terá valores padrão para todas as linhas.

Se definido como SQL_TRUE, nenhum dado será enviado ao servidor.

Esse campo também poderá ser usado com colunas de identidade ou computadas se os valores de coluna não forem necessários para o processamento do servidor.

Esses atributos são válidos apenas para colunas de parâmetro com valor de tabela. Eles são ignorados para outros parâmetros.

Se SQL_CA_SS_COL_HAS_DEFAULT_VALUE for definido para uma coluna de parâmetro com valor de tabela, SQL_DESC_DATA_PTR para essa coluna deverá ser um ponteiro nulo. Caso contrário, SQLExecute ou SQLExecDirect retornarão SQL_ERROR. Um registro de diagnóstico será gerado com SQLSTATE=07S01 e a mensagem "Uso inválido do parâmetro padrão para parâmetro <p>, coluna <c>", em <que p> é o parâmetro ordinal e <c> é a coluna ordinal.

Consulte Também

Parâmetros com valor de tabela (ODBC)