Zusätzliche Tabellenwertparameter-Metadaten

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)

Um Metadaten für einen Tabellenwertparameter abzurufen, ruft eine Anwendung SQLProcedureColumns auf. Bei einem Tabellenwertparameter gibt SQLProcedureColumns eine einzelne Zeile zurück. Zwei zusätzliche SQL Server-spezifische Spalten, SS_TYPE_CATALOG_NAME und SS_TYPE_SCHEMA_NAME, wurden hinzugefügt, um Schema- und Kataloginformationen für Tabellentypen bereitzustellen, die tabellenwertbezogenen Parametern zugeordnet sind. In Übereinstimmung mit der ODBC-Spezifikation werden SS_TYPE_CATALOG_NAME und SS_TYPE_SCHEMA_NAME vor allen treiberspezifischen Spalten angezeigt, die in früheren Versionen von SQL Server hinzugefügt wurden, und nach allen Spalten, die von ODBC selbst vorgeschrieben wurden.

In der folgenden Tabelle sind die Spalten aufgeführt, die für Tabellenwertparameter signifikant sind.

Spaltenname Datentyp Wert/Kommentare
DATA_TYPE Smallint nicht NULL SQL_SS_TABLE
TYPE_NAME WVarchar(128) nicht NULL Der Typname des Tabellenwertparameters.
COLUMN_SIZE Ganzzahl NULL
BUFFER_LENGTH Ganzzahl 0
DECIMAL_DIGITS Smallint NULL
NUM_PREC_RADIX Smallint NULL
NULLABLE Smallint nicht NULL SQL_NULLABLE
ANMERKUNGEN Varchar NULL
COLUMN_DEF WVarchar(4000) NULL
SQL_DATA_TYPE Smallint nicht NULL SQL_SS_TABLE
SQL_DATETIME_SUB Smallint NULL
CHAR_OCTET_LENGTH Ganzzahl NULL
ORDINAL_POSITION Integer nicht NULL Die Ordnungsposition des Parameters.
IS_NULLABLE Varchar "YES"
SS_TYPE_CATALOG_NAME WVarchar(128) nicht NULL Der Katalog, der die Typdefinition für den Tabellentyp des Tabellenwertparameters enthält.
SS_TYPE_SCHEMA_NAME WVarchar(128) nicht NULL Das Schema, das die Typdefinition für den Tabellentyp des Tabellenwertparameters enthält.

Die WVarchar-Spalten werden in der ODBC-Spezifikation als Varchar definiert, aber tatsächlich als WVarchar in allen zuletzt verwendeten SQL Server ODBC-Treibern zurückgegeben. Diese Änderung wurde vorgenommen, als der ODBC 3.5-Spezifikation die Unicode-Unterstützung hinzugefügt wurde. Sie wurde jedoch nicht explizit ausgeschrieben.

Um zusätzliche Metadaten für Tabellenwertparameter abzurufen, verwendet eine Anwendung die Katalogfunktionen SQLColumns und SQLPrimaryKeys. Vor dem Aufruf dieser Funktionen für Tabellenwertparameter muss die Anwendung das Anweisungsattribut SQL_SOPT_SS_NAME_SCOPE auf SQL_SS_NAME_SCOPE_TABLE_TYPE festlegen. Dieser Wert gibt an, dass die Anwendung Metadaten für einen Tabellentyp anstatt einer tatsächlichen Tabelle erfordert. Anschließend übergibt die Anwendung die TYPE_NAME des Tabellenwertparameters als TableName-Parameter . SS_TYPE_CATALOG_NAME und SS_TYPE_SCHEMA_NAME werden mit den Parametern "CatalogName" bzw. "SchemaName" verwendet, um den Katalog und das Schema für den Parameter mit Tabellenwert zu identifizieren. Wenn eine Anwendung das Abrufen von Metadaten für Tabellenwertparameter abgeschlossen hat, muss sie SQL_SOPT_SS_NAME_SCOPE wieder auf den Standardwert SQL_SS_NAME_SCOPE_TABLE festlegen.

Wenn SQL_SOPT_SS_NAME_SCOPE auf SQL_SS_NAME_SCOPE_TABLE festgelegt ist, schlagen Abfragen von Verbindungsservern fehl. Aufrufe von SQLColumns oder SQLPrimaryKeys mit einem Katalog, der eine Serverkomponente enthält, schlagen fehl.

Weitere Informationen

Tabellenwertparameter (ODBC)