Compartilhar via


Campos descritores para colunas constituintes do parâmetro com valor de tabela

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

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

Comentários

SQL_DESC_AUTO_UNIQUE_VALUE é usado para parâmetros com valor de tabela, e também com outros recursos.

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

O SQL Server pode usar essas informações para otimizar o desempenho, mas os aplicativos não precisam defini-las para colunas de identidade.

Os seguintes atributos são adicionado a todos os tipos de parâmetros no APD (Descritor de Parâmetro de Aplicativo) e no IPD:

Nome do atributo Type 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 precisam defini-las para colunas computadas.

Este 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. Isto pode resultar em melhor desempenho de consulta. Este 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. Isto pode resultar em melhor desempenho de consulta. Este 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 a 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 global para um parâmetro com valor de tabela. Isto pode resultar em melhor desempenho de consulta. Este atributo é ignorado para associações que não são colunas de parâmetro com valor de tabela. Ordinais de classificação iniciam em 1. Um valor 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 SQL_FALSE indica que as linhas terão valores não padrão. Esse é o padrão. Um valor SQL_TRUE indica que esta coluna terá valores padrão para todas as linhas.

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

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

Estes atributos só são válidos 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á SQL_ERROR. Um registro de diagnóstico será gerado com SQLSTATE=07S01 e a mensagem "Uso inválido do parâmetro padrão para o parâmetro <p>, coluna <c>", onde <p> é o ordinal do parâmetro e <c> é o ordinal da coluna.

Confira também

Parâmetros com valor de tabela (ODBC)