Share via


Deskriptorfelder für aus Tabellenwertparameter bestehenden Spalten

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Die in diesem Abschnitt beschriebenen Tabellenwertparameterdeskriptorfelder werden mithilfe von SQLSetDescField und SQLSetDescField mit dem Handle für den Implementierungsparameterdeskriptor (IPD) bearbeitet.

Bemerkungen

SQL_DESC_AUTO_UNIQUE_VALUE wird für Tabellenwertparameter sowie für andere Funktionen verwendet.

Attributname type BESCHREIBUNG
SQL_DESC_AUTO_UNIQUE_VALUE SQLINTEGER SQL_TRUE gibt an, dass es sich bei dieser Spalte um eine Identitätsspalte handelt.

SQL Server können diese Informationen verwenden, um die Leistung zu optimieren, aber Anwendungen müssen sie nicht für Identitätsspalten festlegen.

Die folgenden Attribute werden allen Parametertypen im Anwendungsparameterdeskriptor (Application Parameter Descriptor, APD) und Implementierungsparameterdeskriptor (Implementation Parameter Descriptor, IPD) hinzugefügt:

Attributname type BESCHREIBUNG
SQL_CA_SS_COLUMN_COMPUTED SQLSMALLINT SQL_TRUE gibt an, dass diese Spalte berechnet wird.

SQL Server können diese Informationen verwenden, um die Leistung zu optimieren, aber Anwendungen sind nicht erforderlich, um sie für berechnete Spalten festzulegen.

Dieses Attribut wird für Bindungen ignoriert, die keine Tabellenwertparameter-Spalten sind.
SQL_CA_SS_COLUMN_IN_UNIQUE_KEY SQLSMALLINT SQL_TRUE gibt an, dass eine Tabellenwertparameter-Spalte zu einem eindeutigen Schlüssel gehört. Dies kann zu einer verbesserten Abfrageleistung führen. Dieses Attribut wird für Bindungen ignoriert, die keine Tabellenwertparameter-Spalten sind.
SQL_CA_SS_COLUMN_SORT_ORDER SQLSMALLINT Gibt die Sortierreihenfolge einer Tabellenwertparameter-Spalte an. Dies kann zu einer verbesserten Abfrageleistung führen. Dieses Attribut wird für Bindungen ignoriert, die keine Tabellenwertparameter-Spalten sind. Folgende Werte sind möglich:
SQL_SS_ASCENDING_ORDER
SQL_SS_DESCENDING_ORDER
SQL_SS_ORDER_UNSPECIFIED

Andere Werte als SQL_SS_ASCENDING_ORDER und SQL_SS_DESCENDING_ORDER einen Fehler mit SQLSTATE HY024 und der Meldung "Ungültiger Attributwert" generieren und als SQL_SS_ORDER_UNSPECIFIED behandelt werden, was der Standardwert für dieses Attribut ist.
SQL_CA_SS_COLUMN_SORT_ORDINAL SQLSMALLINT Gibt die Ordnungszahl einer Tabellenwertparameter-Spalte in einer Gruppe von Spalten an, die die Gesamtreihenfolge für einen Tabellenwertparameter festlegt. Dies kann zu einer verbesserten Abfrageleistung führen. Dieses Attribut wird für Bindungen ignoriert, die keine Tabellenwertparameter-Spalten sind. Die Sortierung der Ordinalzahlen beginnt bei 1. Der Wert 0 ist der Standardwert und gibt eine Tabellenwertparameter-Spalte an, für die keine Spaltenreihenfolge angegeben wurde.
SQL_CA_SS_COLUMN_HAS_DEFAULT_VALUE SQLSMALLINT Gibt an, ob alle Zeilen im Tabellenwertparameter den Standardwert für diese Spalte enthalten. Für Tabellenwertparameter ist es nicht möglich, den Standardwert auf Zeilenbasis auszuwählen. Der Wert SQL_FALSE gibt an, dass Zeilen nicht standardmäßige Werte enthalten. Dies ist die Standardeinstellung. Der Wert SQL_TRUE gibt an, dass diese Spalte Standardwerte für alle Zeilen enthält.

Wurde der Wert auf SQL_TRUE festgelegt, werden keine Daten an den Server gesendet.

Dieses Feld kann auch mit Identitätsspalten oder berechneten Spalten verwendet werden, wenn die Spaltenwerte nicht für die Serververarbeitung erforderlich sind.

Diese Attribute sind nur für Tabellenwertparameter-Spalten gültig. Sie werden für andere Parameter ignoriert.

Wenn SQL_CA_SS_COL_HAS_DEFAULT_VALUE für eine Tabellenwertparameter-Spalte festgelegt wurde, muss SQL_DESC_DATA_PTR für diese Spalte ein NULL-Zeiger sein. Andernfalls gibt SQLExecute oder SQLExecDirect SQL_ERROR zurück. Ein Diagnosedatensatz wird mit SQLSTATE=07S01 und der Meldung "Ungültige Verwendung des Standardparameters für Parameter <p>, Spalte <c>" generiert, wobei <p> der Ordinalparameter und <c> die Ordnungszahl der Spalte ist.

Weitere Informationen

Tabellenwertparameter (ODBC)