Champs de descripteur pour les colonnes constituantes des paramètres table

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Les champs de descripteur de paramètre table décrits dans cette section sont manipulés à l’aide de SQLSetDescField et SQLSetDescField avec le handle du descripteur de paramètre d’implémentation (IPD).

Notes

SQL_DESC_AUTO_UNIQUE_VALUE est utilisé pour les paramètres table ainsi que pour d'autres fonctionnalités.

Nom de l’attribut Type Description
SQL_DESC_AUTO_UNIQUE_VALUE SQLINTEGER SQL_TRUE indique que cette colonne est une colonne d'identité.

SQL Server pouvez utiliser ces informations pour optimiser les performances, mais les applications ne sont pas tenues de les définir pour les colonnes d’identité.

Les attributs suivants sont ajoutés à tous les types de paramètres du descripteur de paramètre d'application (APD, Application Parameter Descriptor) et du descripteur IPD :

Nom de l’attribut Type Description
SQL_CA_SS_COLUMN_COMPUTED SQLSMALLINT SQL_TRUE indique que cette colonne est calculée.

SQL Server pouvez utiliser ces informations pour optimiser les performances, mais les applications ne sont pas tenues de les définir pour les colonnes calculées.

Cet attribut est ignoré pour les liaisons qui ne sont pas des colonnes de paramètres table.
SQL_CA_SS_COLUMN_IN_UNIQUE_KEY SQLSMALLINT SQL_TRUE indique qu'une colonne de paramètre table participe à une clé unique. Cela peut accroître les performances des requêtes. Cet attribut est ignoré pour les liaisons qui ne sont pas des colonnes de paramètres table.
SQL_CA_SS_COLUMN_SORT_ORDER SQLSMALLINT Indique l'ordre de tri d'une colonne de paramètre table. Cela peut accroître les performances des requêtes. Cet attribut est ignoré pour les liaisons qui ne sont pas des colonnes de paramètres table. Les valeurs possibles sont les suivantes :
SQL_SS_ASCENDING_ORDER
SQL_SS_DESCENDING_ORDER
SQL_SS_ORDER_UNSPECIFIED

Les valeurs autres que SQL_SS_ASCENDING_ORDER et SQL_SS_DESCENDING_ORDER génèrent une erreur avec SQLSTATE HY024 et le message « Valeur d’attribut non valide » et sont traitées comme SQL_SS_ORDER_UNSPECIFIED, qui est la valeur par défaut de cet attribut.
SQL_CA_SS_COLUMN_SORT_ORDINAL SQLSMALLINT Indique l'ordinal d'une colonne de paramètre table dans le jeu des colonnes qui définissent l'ordre global d'un paramètre table. Cela peut accroître les performances des requêtes. Cet attribut est ignoré pour les liaisons qui ne sont pas des colonnes de paramètres table. Les ordinaux de tri commencent à 1. La valeur 0 (valeur par défaut) indique qu'une colonne de paramètre table n'a pas d'ordre de tri.
SQL_CA_SS_COLUMN_HAS_DEFAULT_VALUE SQLSMALLINT Indique si toutes les lignes du paramètre table ont la valeur par défaut de cette colonne. Pour les paramètres table, il n'est pas possible de sélectionner la valeur par défaut ligne par ligne. Une valeur SQL_FALSE indique que les lignes ont des valeurs qui ne sont pas définies par défaut. Il s’agit de la valeur par défaut. Une valeur SQL_TRUE indique que cette colonne a des valeurs par défaut pour toutes les lignes.

Avec SQL_TRUE, aucune donnée n'est envoyée au serveur.

Ce champ peut également être utilisé avec des colonnes d'identité ou des colonnes calculées, si les valeurs de colonnes ne sont pas requises pour le traitement serveur.

Ces attributs sont uniquement valides pour les colonnes de paramètres table. Ils sont ignorés pour les autres paramètres.

Si SQL_CA_SS_COL_HAS_DEFAULT_VALUE est défini pour une colonne de paramètre table, la valeur de SQL_DESC_DATA_PTR pour cette colonne doit être un pointeur Null. Sinon, SQLExecute ou SQLExecDirect retourne SQL_ERROR. Un enregistrement de diagnostic est généré avec SQLSTATE=07S01 et le message « Utilisation non valide du paramètre par défaut pour le paramètre <p>, colonne <c> », où <p> est l’ordinal du paramètre et <c> est l’ordinal de colonne.

Voir aussi

Paramètres table (ODBC)