Pola deskryptorów dla kolumn Table-Valued parametrów

Dotyczy:sql ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Pola deskryptora parametrów opisane w tej sekcji o wartości tabelowej są manipulowane za pomocą SQLSetDescField oraz SQLSetDescField z uchwytem deskryptora parametrów implementacyjnych (IPD).

Remarks

SQL_DESC_AUTO_UNIQUE_VALUE jest używany zarówno dla parametrów tabelowych, jak i innych cech.

Nazwa atrybutu Typ Description
SQL_DESC_AUTOMATYCZNA_UNIKALNA_WARTOŚĆ SQLINTEGER SQL_TRUE wskazuje, że ta kolumna jest kolumną tożsamości.

SQL Server może wykorzystać te informacje do optymalizacji wydajności, ale aplikacje nie muszą ustawiać ich dla kolumn tożsamości.

Następujące atrybuty są dodawane do wszystkich typów parametrów w deskryptorze parametrów aplikacji (APD) oraz deskryptorze parametrów implementacyjnych (IPD):

Nazwa atrybutu Typ Description
SQL_CA_SS_COLUMN_COMPUTED SQLSMALLINT SQL_TRUE oznacza, że ta kolumna jest obliczana.

SQL Server może wykorzystać te informacje do optymalizacji wydajności, ale aplikacje nie muszą ich ustawiać dla kolumn obliczeniowych.

Ten atrybut jest pomijany w przypadku powiązań, które nie są kolumnami parametrów o wartości tabelowej.
SQL_CA_SS_COLUMN_IN_UNIQUE_KEY SQLSMALLINT SQL_TRUE oznacza, że kolumna parametrów tabelowych uczestniczy w unikalnym kluczu. Może to skutkować lepszą wydajnością zapytań. Ten atrybut jest pomijany w przypadku powiązań, które nie są kolumnami parametrów o wartości tabelowej.
SQL_CA_SS_COLUMN_SORT_ORDER SQLSMALLINT Wskazuje kolejność sortowania kolumny parametrów o wartości tabelowej. Może to skutkować lepszą wydajnością zapytań. Ten atrybut jest pomijany w przypadku powiązań, które nie są kolumnami parametrów o wartości tabelowej. Możliwe wartości są następujące:
SQL_SS_ASCENDING_ORDER
SQL_SS_DESCENDING_ORDER
SQL_SS_ORDER_UNSPECIFIED

Wartości inne niż SQL_SS_ASCENDING_ORDER i SQL_SS_DESCENDING_ORDER generują błąd w SQLSTATE HY024 oraz komunikat 'Nieprawidłowa wartość atrybutu' i są traktowane jako SQL_SS_ORDER_UNSPECIFIED, co jest domyślną wartością tego atrybutu.
SQL_CA_SS_COLUMN_SORT_ORDINAL SQLSMALLINT Wskazuje porządkowy dla kolumny parametru tabelowego w zbiorze kolumn definiujących ogólne porządkowanie parametru tabelowego. Może to skutkować lepszą wydajnością zapytań. Ten atrybut jest pomijany w przypadku powiązań, które nie są kolumnami parametrów o wartości tabelowej. Sortowanie porządków zaczyna się od 1. Wartość 0, domyślna, oznacza, że kolumna parametrów tabelowych nie ma kolejności kolumn.
SQL_CA_SS_COLUMN_HAS_DEFAULT_VALUE SQLSMALLINT Wskazuje, czy wszystkie wiersze w parametrze tabelowym będą miały domyślną wartość dla tej kolumny. Dla parametrów tabelowych nie jest możliwe wybieranie wartości domyślnej wiersz po wierszu. Wartość SQL_FALSE oznacza, że wiersze będą miały wartości niedomyślne. Jest to opcja domyślna. Wartość SQL_TRUE oznacza, że ta kolumna będzie miała domyślne wartości dla wszystkich wierszy.

Jeśli ustawiono SQL_TRUE, żadne dane nie będą wysyłane do serwera.

To pole może być również używane z kolumnami tożsamościowymi lub obliczonymi, jeśli wartości kolumn nie są wymagane do przetwarzania serwera.

Atrybuty te są ważne tylko dla kolumn parametrów o wartości tabelowej. Są one ignorowane ze względu na inne parametry.

Jeśli SQL_CA_SS_COL_HAS_DEFAULT_VALUE jest ustawione dla kolumny parametrów tabelowych, SQL_DESC_DATA_PTR dla tej kolumny musi być wskaźnikiem zerowym. W przeciwnym razie SQLExecute lub SQLExecDirect zwrócą SQL_ERROR. Wygenerowany zostanie rekord diagnostyczny z SQLSTATE=07S01 oraz komunikatem "Nieprawidłowe użycie domyślnego parametru dla parametru <p>, kolumna <c>", gdzie <p> jest porządkowaniem parametrów, a <c> kolumnowym porządkiem.