Campos de Descritores para Table-Valued Colunas Constituintes de Parâmetro

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse Analytics

Os campos descritores de parâmetros com valores de tabela descritos nesta secção são manipulados usando SQLSetDescField e SQLSetDescField com o handle do descritor de parâmetro de implementação (IPD).

Observações

SQL_DESC_AUTO_UNIQUE_VALUE é usado para parâmetros de tabela e outras funcionalidades.

Nome do atributo Tipo Description
SQL_DESC_AUTO_UNIQUE_VALUE SQLINTEGER SQL_TRUE indica que esta coluna é uma coluna de identidade.

O SQL Server pode usar esta informação para otimizar o desempenho, mas as aplicações não são obrigadas a defini-la para colunas de identidade.

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

Nome do atributo Tipo Description
SQL_CA_SS_COLUMN_COMPUTED SQLSMALLINT SQL_TRUE indica que esta coluna é calculada.

O SQL Server pode usar esta informação para otimizar o desempenho, mas as aplicações não são obrigadas a defini-la para colunas computadas.

Este atributo é ignorado para associações que não são colunas de parâmetros com valores de tabela.
SQL_CA_SS_COLUMN_IN_UNIQUE_KEY SQLSMALLINT SQL_TRUE indica que uma coluna de parâmetros com valores de tabela participa numa chave única. Isto pode resultar num melhor desempenho das consultas. Este atributo é ignorado para associações que não são colunas de parâmetros com valores de tabela.
SQL_CA_SS_COLUMN_SORT_ORDER SQLSMALLINT Indica a ordem de ordenação de uma coluna de parâmetros com valores de tabela. Isto pode resultar num melhor desempenho das consultas. Este atributo é ignorado para associações que não são colunas de parâmetros com valores 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 do atributo inválido' e são tratados como SQL_SS_ORDER_UNSPECIFIED, que é o valor padrão para este atributo.
SQL_CA_SS_COLUMN_SORT_ORDINAL SQLSMALLINT Indica o ordinal de uma coluna de parâmetros com valores de tabela no conjunto de colunas que definem a ordenação global para um parâmetro com valores de tabela. Isto pode resultar num melhor desempenho das consultas. Este atributo é ignorado para associações que não são colunas de parâmetros com valores de tabela. Os ordinais de ordenação começam em 1. Um valor de 0, o padrão, indica que uma coluna de parâmetros com valores de tabela não tem ordenação de colunas.
SQL_CA_SS_COLUMN_HAS_DEFAULT_VALUE SQLSMALLINT Indica se todas as linhas do parâmetro com valores de tabela terão o valor padrão desta coluna. Para parâmetros com valores de tabela, não é possível selecionar o valor padrão linha a linha. Um valor de SQL_FALSE indica que as linhas terão valores não padrão. Este é o padrão. Um valor de SQL_TRUE indica que esta coluna terá valores predefinidos para todas as linhas.

Se definido para SQL_TRUE, nenhum dado será enviado para o servidor.

Este campo também pode ser usado com colunas de identidade ou calculadas se os valores das colunas não forem necessários para o processamento do servidor.

Estes atributos só são válidos para colunas de parâmetros com valores em tabelas. São ignorados por outros parâmetros.

Se SQL_CA_SS_COL_HAS_DEFAULT_VALUE for definido para uma coluna de parâmetros com valores de tabela, SQL_DESC_DATA_PTR para essa coluna deve ser um ponteiro nulo. Caso contrário, o SQLExecute ou o SQLExecDirect devolverão SQL_ERROR. Será gerado um registo de diagnóstico com SQLSTATE=07S01 e a mensagem "Invalid use of default parameter for parameter <p>, column <c>", onde <p> é o ordinal do parâmetro e <c> é o ordinal da coluna.