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ů