Campos descritores para colunas constituintes do parâmetro com valor de tabela
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 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 | Tipo | Descrição |
---|---|---|
SQL_DESC_AUTO_UNIQUE_VALUE | SQLINTEGER | SQL_TRUE indica que esta coluna é uma coluna de identidade. 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 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 | Tipo | Descrição |
---|---|---|
SQL_CA_SS_COLUMN_COMPUTED | SQLSMALLINT | SQL_TRUE indica que essa coluna é computada. 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. 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 seguintes valores são possíveis: - 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 este 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ã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 o parâmetro <p>, coluna <c>", em <que p> é o parâmetro ordinal e <c> é o ordinal da coluna.