Condividi tramite


Campi di descrizione per le colonne che costituiscono parametri con valori di tabella

I campi di descrizione dei parametri con valori di tabella descritti in questa sezione vengono modificati utilizzando SQLSetDescField e SQLSetDescField con l'handle per il campo di descrizione del parametro di implementazione (IPD, Implementation Parameter Descriptor).

Osservazioni

SQL_DESC_AUTO_UNIQUE_VALUE viene utilizzato per parametri con valori di tabella e altre funzionalità.

Nome dell'attributo

Tipo

Descrizione

SQL_DESC_AUTO_UNIQUE_VALUE

SQLINTEGER

SQL_TRUE indica che la colonna è una colonna Identity.

SQL Server può utilizzare queste informazioni per ottimizzare le prestazioni, ma le applicazioni non devono impostare questo attributo per le colonne Identiy.

Gli attributi seguenti vengono aggiunti a tutti i tipi di parametro nel campo di descrizione del parametro dell'applicazione (APD, Application Parameter Descriptor) e nel campo di descrizione del parametro di implementazione (IPD, Implementation Parameter Descriptor):

Nome dell'attributo

Tipo

Descrizione

SQL_CA_SS_COLUMN_COMPUTED

SQLSMALLINT

SQL_TRUE indica che la colonna è calcolata.

SQL Server può utilizzare queste informazioni per ottimizzare le prestazioni, ma le applicazioni non devono impostare questo attributo per le colonne calcolate.

Questo attributo viene ignorato per le associazioni che non sono colonne di parametri con valori di tabella.

SQL_CA_SS_COLUMN_IN_UNIQUE_KEY

SQLSMALLINT

SQL_TRUE indica che una colonna di parametri con valori di tabella viene utilizzata in una chiave univoca. Questa impostazione può migliorare le prestazioni di esecuzione delle query. Questo attributo viene ignorato per le associazioni che non sono colonne di parametri con valori di tabella.

SQL_CA_SS_COLUMN_SORT_ORDER

SQLSMALLINT

Indica l'ordinamento di una colonna di parametri con valori di tabella. Questa impostazione può migliorare le prestazioni di esecuzione delle query. Questo attributo viene ignorato per le associazioni che non sono colonne di parametri con valori di tabella. Di seguito sono indicati i valori possibili:

  • SQL_SS_ASCENDING_ORDER

  • SQL_SS_DESCENDING_ORDER

  • SQL_SS_ORDER_UNSPECIFIED

I valori diversi da SQL_SS_ASCENDING_ORDER e SQL_SS_DESCENDING_ORDER generano un errore con SQLSTATE HY024 e il messaggio 'Valore di attributo non valido' e vengono considerati SQL_SS_ORDER_UNSPECIFIED, ovvero il valore predefinito per l'attributo.

SQL_CA_SS_COLUMN_SORT_ORDINAL

SQLSMALLINT

Indica l'ordinale di una colonna di parametri con valori di tabella nel set di colonne che definiscono l'ordinamento complessivo per un parametro con valori di tabella. Questa impostazione può migliorare le prestazioni di esecuzione delle query. Questo attributo viene ignorato per le associazioni che non sono colonne di parametri con valori di tabella. Gli ordinali per l'ordinamento iniziano da 1. Il valore 0, che rappresenta il valore predefinito, indica che una colonna di parametri con valori di tabella non specifica l'ordinamento delle colonne.

SQL_CA_SS_COLUMN_HAS_DEFAULT_VALUE

SQLSMALLINT

Indica se assegnare a tutte le righe nel parametro con valori di tabella il valore predefinito per la colonna. Per i parametri con valori di tabella, non è possibile selezionare il valore predefinito riga per riga. Il valore SQL_FALSE indica che alle righe saranno assegnati valori non predefiniti. Si tratta dell'impostazione predefinita. Il valore SQL_TRUE indica che la colonna specificherà valori predefiniti per tutte le righe.

Se l'attributo è impostato su SQL_TRUE, non verranno inviati dati al server.

Questo campo può essere utilizzato anche con colonne Identity o calcolate se i valori di colonna non sono necessari per l'elaborazione server.

Questi attributi sono validi solo per le colonne di parametri con valori di tabella e vengono ignorati per gli altri parametri.

Se SQL_CA_SS_COL_HAS_DEFAULT_VALUE è impostato per una colonna di parametri con valori di tabella, SQL_DESC_DATA_PTR per la colonna deve essere un puntatore null. In caso contrario, SQLExecute o SQLExecDirect restituirà SQL_ERROR. Verrà generato un record di diagnostica con SQLSTATE=07S01 e verrà visualizzato il messaggio "Utilizzo del parametro predefinito non valido per il parametro <p>", colonna <c>", dove <p> è l'ordinale di parametro e <c> è l'ordinale di colonna.