Deskriptorfelder für aus Tabellenwertparameter bestehenden Spalten
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Die in diesem Abschnitt beschriebenen Tabellenwertparameterdeskriptorfelder werden mithilfe von SQLSetDescField und SQLSetDescField mit dem Handle für die Implementierungsparameterdeskriptor (IPD) bearbeitet.
Hinweise
SQL_DESC_AUTO_UNIQUE_VALUE wird für Tabellenwertparameter sowie für andere Funktionen verwendet.
Attributname | Typ | Beschreibung |
---|---|---|
SQL_DESC_AUTO_UNIQUE_VALUE | SQLINTEGER | SQL_TRUE gibt an, dass es sich bei dieser Spalte um eine Identitätsspalte handelt. SQL Server kann diese Informationen verwenden, um die Leistung zu optimieren, aber Anwendungen sind nicht erforderlich, um sie für Identitätsspalten festzulegen. |
Die folgenden Attribute werden allen Parametertypen im Anwendungsparameterdeskriptor (Application Parameter Descriptor, APD) und Implementierungsparameterdeskriptor (Implementation Parameter Descriptor, IPD) hinzugefügt:
Attributname | Typ | Beschreibung |
---|---|---|
SQL_CA_SS_COLUMN_COMPUTED | SQLSMALLINT | SQL_TRUE gibt an, dass diese Spalte berechnet wird. SQL Server kann 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 generieren einen Fehler mit SQLSTATE HY024 und der Meldung "Ungültiger Attributwert" und werden als SQL_SS_ORDER_UNSPECIFIED behandelt, 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 Parameter ordinal und <c> die Spalten-Ordnungszahl ist.