Sdílet prostřednictvím


Další metadata parametrů Table-Valued

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed InstanceAzure Synapse AnalyticsPlatform Platform System (PDW)

Pro načtení metadat pro parametr s hodnotou tabulky volá aplikace SQLProcedureColumns. U parametru s hodnotou tabulky vrátí sqlProcedureColumns jeden řádek. Byly přidány dva další sloupce specifické pro SQL Server, SS_TYPE_CATALOG_NAME a SS_TYPE_SCHEMA_NAME, které poskytují informace o schématu a katalogu pro typy tabulek přidružené k parametrům s hodnotou tabulky. V souladu se specifikací ODBC se SS_TYPE_CATALOG_NAME a SS_TYPE_SCHEMA_NAME zobrazí před všemi sloupci specifickými pro ovladače přidané v dřívějších verzích SQL Serveru a po všech sloupcích, které vyžaduje samotný ODBC.

Následující tabulka uvádí sloupce, které jsou významné pro parametry s hodnotou tabulky.

Název sloupce Datový typ Hodnota/komentáře
DATA_TYPE Smallint not NULL SQL_SS_TABLE
TYPE_NAME WVarchar(128) není NULL Název typu parametru s hodnotou tabulky.
COLUMN_SIZE Celé číslo NULA
BUFFER_LENGTH Celé číslo 0
DECIMAL_DIGITS Smallint NULA
NUM_PREC_RADIX Smallint NULA
NULLABLE Smallint not NULL SQL_NULLABLE
POZNÁMKY Varchar NULA
COLUMN_DEF WVarchar(4000) NULA
SQL_DATA_TYPE Smallint not NULL SQL_SS_TABLE
SQL_DATETIME_SUB Smallint NULA
CHAR_OCTET_LENGTH Celé číslo NULA
ORDINAL_POSITION Celé číslo není NULL Pořadové umístění parametru.
IS_NULLABLE Varchar "ANO"
SS_TYPE_CATALOG_NAME WVarchar(128) není NULL Katalog, který obsahuje definici typu pro typ tabulky parametru s hodnotou tabulky.
SS_TYPE_SCHEMA_NAME WVarchar(128) není NULL Schéma, které obsahuje definici typu pro typ tabulky parametru s hodnotou tabulky.

Sloupce WVarchar jsou definovány jako Varchar ve specifikaci ODBC, ale ve skutečnosti jsou vráceny jako WVarchar ve všech nedávných ovladačích ODBC SQL Serveru. Tato změna byla provedena, když byla podpora unicode přidána do specifikace ODBC 3.5, ale nebyla výslovně volána.

K získání dalších metadat pro parametry s hodnotou tabulky aplikace používá funkce katalogu SQLColumns a SQLPrimaryKeys. Než se tyto funkce volají pro parametry s hodnotou tabulky, musí aplikace nastavit atribut příkazu SQL_SOPT_SS_NAME_SCOPE na SQL_SS_NAME_SCOPE_TABLE_TYPE. Tato hodnota označuje, že aplikace vyžaduje metadata pro typ tabulky, nikoli pro skutečnou tabulku. Aplikace pak předá TYPE_NAME parametru s hodnotou tabulky jako parametr TableName. SS_TYPE_CATALOG_NAME a SS_TYPE_SCHEMA_NAME se používají s parametry CatalogName a SchemaName k identifikaci katalogu a schématu parametru s hodnotou tabulky. Když aplikace dokončí načítání metadat pro parametry s hodnotou tabulky, musí nastavit SQL_SOPT_SS_NAME_SCOPE zpět na výchozí hodnotu SQL_SS_NAME_SCOPE_TABLE.

Pokud je SQL_SOPT_SS_NAME_SCOPE nastavená na SQL_SS_NAME_SCOPE_TABLE, dotazy na odkazované servery selžou. Volání sqlColumns nebo SQLPrimaryKeys s katalogem, který obsahuje součást serveru, selže.

Viz také

parametrů Table-Valued (ODBC)