SQLProcedureColumns
SQLProcedureColumns gibt eine Zeile zurück, die die Rückgabewertattribute aller gespeicherten Prozeduren in SQL Server meldet.
SQLProcedureColumns gibt SQL_SUCCESS zurück, unabhängig davon, ob Werte für die Parameter CatalogName, SchemaName, ProcName oder ColumnName vorhanden sind. SQLFetch gibt SQL_NO_DATA zurück, wenn in diesen Parametern ungültige Werte verwendet werden.
SQLProcedureColumns kann in einem statischen Servercursor ausgeführt werden. Wenn SQLProcedureColumns in einem aktualisierbaren Cursor (dynamischer Cursor oder Keysetcursor) ausgeführt wird, wird SQL_SUCCESS_WITH_INFO zurückgegeben. Das bedeutet, dass der Cursortyp geändert wurde.
In der folgenden Tabelle werden die von dem Resultset zurückgegebenen Spalten aufgeführt. Sie veranschaulicht, wie die Spalten erweitert wurden, um die Datentypen udt und xml über den SQL Server Native Client ODBC-Treiber zu handhaben:
Spaltenname |
Beschreibung |
---|---|
SS_UDT_CATALOG_NAME |
Gibt den Namen des Katalogs zurück, der den benutzerdefinierten Typ (User-Defined Type, UDT) enthält. |
SS_UDT_SCHEMA_NAME |
Gibt den Namen des Schemas zurück, das den UDT enthält. |
SS_UDT_ASSEMBLY_TYPE_NAME |
Gibt den qualifizierten Namen des UDT-Assemblys zurück. |
SS_XML_SCHEMACOLLECTION_CATALOG_NAME |
Gibt den Namen des Katalogs zurück, in dem eine XML-Schemaauflistung definiert ist. Wenn der Katalogname nicht gefunden werden kann, enthält diese Variable eine leere Zeichenfolge. |
SS_XML_SCHEMACOLLECTION_SCHEMA_NAME |
Gibt den Namen des Schemas zurück, in dem eine XML-Schemaauflistung definiert ist. Wenn der Schemaname nicht gefunden werden kann, enthält diese Variable eine leere Zeichenfolge. |
SS_XML_SCHEMACOLLECTION_NAME |
Gibt den Namen einer XML-Schemaauflistung zurück. Wenn der Name nicht gefunden werden kann, enthält diese Variable eine leere Zeichenfolge. |
SQLProcedureColumns und Tabellenwertparameter
SQLProcedureColumns handhabt Tabellenwertparameter ähnlich wie CLR-benutzerdefinierte Typen. In Zeilen, die für Tabellenwertparameter zurückgegeben werden, verfügen Spalten über die folgenden Werte:
Spaltenname |
Beschreibung/Wert |
---|---|
DATA_TYPE |
SQL_SS_TABLE |
TYPE_NAME |
Der Name des Tabellentyps für den Tabellenwertparameter. |
COLUMN_SIZE |
NULL |
BUFFER_LENGTH |
0 |
DECIMAL_DIGITS |
Die Anzahl der Spalten im Tabellenwertparameter. |
NUM_PREC_RADIX |
NULL |
NULLABLE |
SQL_NULLABLE |
REMARKS |
NULL |
COLUMN_DEF |
NULL. Tabellentypen könnten keine Standardwerte besitzen. |
SQL_DATA_TYPE |
SQL_SS_TABLE |
SQL_DATEIME_SUB |
NULL |
CHAR_OCTET_LENGTH |
NULL |
IS_NULLABLE |
"YES" |
SS_TYPE_CATALOG_NAME |
Gibt den Namen des Katalogs zurück, der die Tabelle oder den CLR-benutzerdefinierten Typ enthält. |
SS_TYPE_SCHEMA_NAME |
Gibt den Namen des Schemas zurück, das die Tabelle oder den CLR-benutzerdefinierten Typ enthält. |
Die Spalten SS_TYPE_CATALOG_NAME und SS_TYPE_SCHEMA_NAME wurden in SQL Server 2008 eingeführt, um respektive den Katalog und das Schema für Tabellenwertparameter zurückzugeben. Dieses Spalten werden nicht nur mit Tabellenwertparametern sondern auch mit Parametern des CLR-benutzerdefinierten Typs aufgefüllt. Vorhandene Schema- und Katalogspalten für Parameter des CLR-benutzerdefinierten Typs sind von dieser zusätzlichen Funktionalität nicht betroffen. Sie werden ebenfalls aufgefüllt, um die Abwärtskompatibilität zu gewährleisten.
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, sowie nach allen Spalten, die von ODBC selbst benötigt werden.
Weitere Informationen zu Tabellenwertparametern finden Sie unter Tabellenwertparameter (ODBC).
SQLProcedureColumns-Unterstützung für erweiterte Features für Datum und Uhrzeit
Angaben zu den Werten, die für Datums-/Uhrzeittypen zurückgegeben werden, finden Sie unter Katalogmetadaten.
Weitere allgemeine Informationen finden Sie unter Datums-/Uhrzeitverbesserungen (ODBC).
SQLProcedureColumns-Unterstützung für große CLR-UDTs
SQLProcedureColumns unterstützt große CLR-benutzerdefinierte Typen (User-Defined Types, UDTs). Weitere Informationen finden Sie unter Große benutzerdefinierte CLR-Typen (ODBC).