sp_columns_ex (Transact-SQL)
Gilt für: SQL Server
Gibt die Spalteninformationen (eine Zeile pro Spalte) für die angegebenen Verbindungsservertabellen zurück. sp_columns_ex
gibt Spalteninformationen nur für die bestimmte Spalte zurück, wenn @column_name angegeben ist.
Transact-SQL-Syntaxkonventionen
Syntax
sp_columns_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @column_name = ] N'column_name' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Argumente
[ @table_server = ] N'table_server'
Der Name des verknüpften Servers, für den Spalteninformationen zurückgegeben werden sollen. @table_server ist "sysname" ohne Standard.
[ @table_name = ] N'table_name'
Der Name der Tabelle, für die Spalteninformationen zurückgegeben werden sollen. @table_name ist "sysname" mit einem Standardwert von NULL
.
[ @table_schema = ] N'table_schema'
Der Schemaname der Tabelle, für die Spalteninformationen zurückgegeben werden sollen. @table_schema ist "sysname" mit der Standardeinstellung "NULL
.
[ @table_catalog = ] N'table_catalog'
Der Katalogname der Tabelle, für die Spalteninformationen zurückgegeben werden sollen. @table_catalog ist "sysname" mit einem Standardwert von NULL
.
[ @column_name = ] N'column_name'
Der Name der Datenbankspalte, für die Informationen bereitgestellt werden sollen. @column_name ist "sysname" mit der Standardeinstellung "NULL
.
[ @ODBCVer = ] ODBCVer
Die version von ODBC, die verwendet wird. @ODBCVer ist int mit einem Standardwert von 2
. Dieser gibt ODBC, Version 2, an. Gültige Werte sind 2
und 3
. Informationen zu den Verhaltensunterschieden zwischen Den Versionen 2 und 3 finden Sie in der ODBC-Spezifikation SQLColumns
.
Rückgabecodewerte
Keine.
Resultset
Spaltenname | Datentyp | Beschreibung |
---|---|---|
TABLE_CAT |
sysname | Der Name des Qualifizierers für die Tabelle oder Sicht. Verschiedene DBMS-Produkte unterstützen die dreiteilige Benennung für Tabellen (<qualifier>.<owner>.<name> ). In SQL Server stellt diese Spalte den Datenbanknamen dar. Bei anderen Produkten stellt sie den Servernamen der Datenbankumgebung für die Tabelle dar. Dieses Feld kann sein NULL . |
TABLE_SCHEM |
sysname | Der Name des Besitzers der Tabelle oder Sicht. In SQL Server stellt diese Spalte den Namen des Datenbankbenutzers dar, der die Tabelle erstellt hat. Dieses Feld gibt immer einen Wert zurück. |
TABLE_NAME |
sysname | Der Name der Tabelle oder Sicht. Dieses Feld gibt immer einen Wert zurück. |
COLUMN_NAME |
sysname | Spaltenname für jede Spalte der TABLE_NAME zurückgegebenen. Dieses Feld gibt immer einen Wert zurück. |
DATA_TYPE |
smallint | Ein Int-Wert , der ODBC-Typindikatoren entspricht. Wenn es sich um einen Datentyp handelt, der keinem ODBC-Typ zugeordnet werden kann, lautet NULL dieser Wert . Der name des nativen Datentyps wird in der TYPE_NAME Spalte zurückgegeben. |
TYPE_NAME |
varchar(13) | Die Zeichenfolge, die den Datentyp darstellt. Den Datentypnamen stellt das zugrunde liegende DBMS bereit. |
COLUMN_SIZE |
int | Die Anzahl von signifikanten Stellen. Der Rückgabewert für die PRECISION Spalte befindet sich in Der Basis 10. |
BUFFER_LENGTH |
int | Die Übertragungsgröße der Daten.1 |
DECIMAL_DIGITS |
smallint | Die Anzahl der Ziffern rechts vom Dezimalzeichen |
NUM_PREC_RADIX |
smallint | Die Basis für numerische Datentypen. |
NULLABLE |
smallint | Gibt die NULL-Zulässigkeit an.1 = NULL ist möglich.0 = NOT NULL . |
REMARKS |
varchar(254) | Dieses Feld gibt immer zurück NULL . |
COLUMN_DEF |
varchar(254) | Der Standardwert der Spalte. |
SQL_DATA_TYPE |
smallint | Der Wert des SQL-Datentyps, wie er im TYPE Feld des Deskriptors angezeigt wird. Diese Spalte ist identisch mit der DATA_TYPE Spalte, mit Ausnahme der Datentypen "datetime " und "SQL-92 " . Diese Spalte gibt immer einen Wert zurück. |
SQL_DATETIME_SUB |
smallint | Untertypcode für die Datentypen datetime und interval (SQL 92). Bei anderen Datentypen gibt diese Spalte zurück NULL . |
CHAR_OCTET_LENGTH |
int | Die maximale Länge (in Byte) einer Spalte eines Zeichendatentyps oder eines ganzzahligen Datentyps. Für alle anderen Datentypen gibt diese Spalte zurück NULL . |
ORDINAL_POSITION |
int | Die Position einer Spalte innerhalb der Tabelle. Die erste Spalte in der Tabelle ist "1". Diese Spalte gibt immer einen Wert zurück. |
IS_NULLABLE |
varchar(254) | Nullierbarkeit der Spalte in der Tabelle. Die NULL-Zulässigkeit wird gemäß den ISO-Regeln bestimmt. Ein ISO SQL-kompatibles DBMS kann keine leere Zeichenfolge zurückgeben.YES = Spalte kann enthalten NULL sein.NO = Spalte kann nicht eingeschlossen werden NULL .Die Spalte gibt eine leere Zeichenfolge zurück, wenn die NULL-Zulässigkeit unbekannt ist. Der für diese Spalte zurückgegebene Wert unterscheidet sich vom für die NULLABLE Spalte zurückgegebenen Wert. |
SS_DATA_TYPE |
tinyint | SQL Server-Datentyp, der von erweiterten gespeicherten Prozeduren verwendet wird. |
Weitere Informationen finden Sie in der ODBC-Übersicht.
Hinweise
sp_columns_ex
wird durch Abfragen desCOLUMNS
Rowset derIDBSchemaRowset
Schnittstelle des OLE DB-Anbieters ausgeführt, der @table_server entspricht. Die Parameter @table_name, @table_schema, @table_catalog und @column_name werden an diese Schnittstelle übergeben, um die zurückgegebenen Zeilen einzuschränken.sp_columns_ex
gibt einen leeren Resultset zurück, wenn der OLE DB-Anbieter des angegebenen verknüpften Servers dasCOLUMNS
Rowset derIDBSchemaRowset
Schnittstelle nicht unterstützt.sp_columns_ex
folgt den Anforderungen für durch Trennzeichen getrennte Bezeichner. Weitere Informationen finden Sie unter Datenbankbezeichner.
Berechtigungen
Erfordert die SELECT
-Berechtigung im Schema.
Beispiele
Im folgenden Beispiel wird der Datentyp der JobTitle
-Spalte der HumanResources.Employee
-Tabelle in der AdventureWorks2022
-Datenbank auf dem Seattle1
-Verbindungsserver zurückgegeben.
EXEC sp_columns_ex 'Seattle1',
'Employee',
'HumanResources',
'AdventureWorks2022',
'JobTitle';