Freigeben über


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 Spalte angegeben ist.

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_columns_ex [ @table_server = ] 'table_server'   
     [ , [ @table_name = ] 'table_name' ]   
     [ , [ @table_schema = ] 'table_schema' ]   
     [ , [ @table_catalog = ] 'table_catalog' ]   
     [ , [ @column_name = ] 'column' ]   
     [ , [ @ODBCVer = ] 'ODBCVer' ]  

Argumente

[ @table_server = ] 'table_server' Ist der Name des verknüpften Servers, für den Spalteninformationen zurückgegeben werden sollen. table_server ist "sysname" ohne Standard.

[ @table_name = ] 'table_name' Ist der Name der Tabelle, für die Spalteninformationen zurückgegeben werden sollen. table_name ist "sysname" mit dem Standardwert NULL.

[ @table_schema = ] 'table_schema' Ist der Schemaname der Tabelle, für die Spalteninformationen zurückgegeben werden sollen. table_schema ist "sysname" mit dem Standardwert NULL.

[ @table_catalog = ] 'table_catalog' Ist der Katalogname der Tabelle, für die Spalteninformationen zurückgegeben werden sollen. table_catalog ist "sysname" mit dem Standardwert NULL.

[ @column_name = ] 'column' Ist der Name der Datenbankspalte, für die Informationen bereitgestellt werden sollen. spalte ist sysname, mit einem Standardwert von NULL.

[ @ODBCVer = ] 'ODBCVer': die verwendete ODBC-Version. ODBCVer ist vom Datentyp int und hat den Standardwert 2. Dieser gibt ODBC, Version 2, an. Gültige Werte sind 2 oder 3. Informationen zu den Verhaltensunterschieden zwischen den Versionen 2 und 3 finden Sie in der SQLColumns-Spezifikation von ODBC.

Rückgabecodewerte

Keine

Resultsets

Spaltenname Datentyp Beschreibung
TABLE_CAT sysname Der Name des Qualifizierers für die Tabelle oder Sicht. Verschiedene DBMS-Produkte unterstützen eine 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 den Wert NULL annehmen.
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 Der Spaltenname für jede Spalte des zurückgegebenen TABLE_NAME. Dieses Feld gibt immer einen Wert zurück.
DATA_TYPE smallint Ein Wert für eine ganze Zahl, der den ODBC-Datentypbezeichnern entspricht. Bei einem Datentyp, der keinem ODBC-Datentyp zugeordnet werden kann, wird der Wert NULL zurückgegeben. Der Name des nativen Datentyps wird in der Spalte TYPE_NAME 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 Spalte PRECISION hat die 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 Ist die Basis für numerische Datentypen.
NULLABLE smallint Gibt die NULL-Zulässigkeit an.

1 = NULL ist möglich

0 = NOT NULL
HINWEISE varchar(254) Dieses Feld gibt immer NULL zurück.
COLUMN_DEF varchar(254) Standardwert der Spalte
SQL_DATA_TYPE smallint Der Wert des SQL-Datentyps, wie er im TYPE-Feld des Deskriptors angezeigt wird. Diese Spalte entspricht der Spalte DATA_TYPE mit Ausnahme der Datentypen datetime und interval (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 allen anderen Datentypen gibt diese Spalte NULL zurück.
CHAR_OCTET_LENGTH int Die maximale Länge (in Byte) einer Spalte eines Zeichendatentyps oder eines ganzzahligen Datentyps. Bei allen anderen Datentypen gibt diese Spalte NULL zurück.
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 DBMS nach ISO SQL kann keine leere Zeichenfolge zurückgeben.

YES = Spalte kann NULL-Werte enthalten.

NO = Spalte kann keine NULL-Werte enthalten.

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 von dem für die Spalte NULLABLE zurückgegebenen Wert.
SS_DATA_TYPE tinyint SQL Server-Datentyp, der von erweiterten gespeicherten Prozeduren verwendet wird.

Weitere Informationen finden Sie in der Microsoft ODBC-Dokumentation.

Hinweise

  • sp_columns_ex wird durch Abfragen des COLUMNS-Rowsets der IDBSchemaRowset-Schnittstelle des OLE DB-Anbieters ausgeführt, der table_server entspricht. Die Parameter table_name, table_schema, table_catalog und Spalten 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 das COLUMNS-Rowset der IDBSchemaRowset-Schnittstelle nicht unterstützt.

  • sp_columns_ex folgt den Anforderungen für durch Trennzeichen getrennte Bezeichner. Weitere Informationen finden Sie unter Datenbankbezeichner.

Berechtigungen

Erfordert SELECT-Berechtigung für das 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';  

Weitere Informationen

sp_catalogs (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_indexes (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_primarykeys (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)