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.