sp_columns_ex (Transact-SQL)
Gibt die Spalteninformationen (eine Zeile pro Spalte) für die angegebenen Verbindungsservertabellen zurück. sp_columns_ex gibt Spalteninformationen nur für die angegebene Spalte zurück, wenn column angegeben wird.
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'
Der Name des Verbindungsservers, für den Spalteninformationen zurückgegeben werden sollen. table_server ist vom Datentyp sysname und hat keinen Standardwert.[ @table_name = ] 'table_name'
Der Name der Tabelle, für die Spalteninformationen zurückgegeben werden sollen. table_name ist vom Datentyp sysname und hat den Standardwert NULL.[ @table_schema = ] 'table_schema'
Der Schemaname der Tabelle, für die Spalteninformationen zurückgegeben werden sollen. table_schema ist vom Datentyp sysname und hat den Standardwert NULL.[ @table_catalog = ] 'table_catalog'
Der Katalogname der Tabelle, für die Spalteninformationen zurückgegeben werden sollen. table_catalog ist vom Datentyp sysname und hat den Standardwert NULL.[ @column_name = ] 'column'
Der Name der Datenbankspalte, für die Informationen bereitgestellt werden sollen. column ist vom Datentyp sysname und hat den Standardwert NULL.[ @ODBCVer = ] 'ODBCVer'
Ist die verwendete ODBC-Version. ODBCVer ist vom Datentyp int, der Standardwert ist 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 Namensgebung für Tabellen (qualifier.owner.name). In SQL Server 2008 und SQL Server 2005 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 Name der Spalte für jede Spalte des zurückgegebenen Werts von 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 systemeigenen 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 der signifikanten Stellen. Der Rückgabewert für die PRECISION-Spalte 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 |
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 NULL zurück. |
COLUMN_DEF |
varchar(254) |
Standardwert der Spalte. SQL Server 2008 und SQL Server 2005 unterscheiden sich von SQL Server 2000 darin, wie SQL-Ausdrücke in den Katalogmetadaten decodiert und gespeichert werden. Die Semantik des decodierten Ausdrucks entspricht dem ursprünglichen Text. Es gibt jedoch keine syntaktische Garantie. Leerzeichen werden beispielsweise aus dem decodierten Ausdruck entfernt. Weitere Informationen finden Sie unter Verhaltensänderungen von Datenbankmodul-Funktionen in SQL Server 2008 R2. |
SQL_DATA_TYPE |
smallint |
Der Wert des SQL-Datentyps, wie er im TYPE-Feld des Deskriptors angezeigt wird. Diese Spalte entspricht der DATA_TYPE-Spalte mit Ausnahme der Datentypen datetime und SQL-92 interval. Diese Spalte gibt immer einen Wert zurück. |
SQL_DATETIME_SUB |
smallint |
Untertypcode für die Datentypen datetime und SQL-92 interval. 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) |
Die NULL-Zulässigkeit einer Spalte innerhalb 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 ist ein anderer als der für die NULLABLE-Spalte zurückgegebene Wert. |
SS_DATA_TYPE |
tinyint |
SQL Server-Datentyp, der von erweiterten gespeicherten Prozeduren verwendet wird. Weitere Informationen finden Sie unter Datentypen (Datenbankmodul). |
Weitere Informationen finden Sie in der Microsoft ODBC-Dokumentation.
Hinweise
sp_columns_ex wird ausgeführt, indem das COLUMNS-Rowset der IDBSchemaRowset-Schnittstelle des OLE DB-Anbieters abgefragt wird, der table_server entspricht. Die Parameter table_name, table_schema, table_catalog und column werden an diese Schnittstelle übergeben, um die zurückgegebenen Zeilen zu beschränken.
sp_columns_ex gibt ein leeres Resultset zurück, wenn der OLE DB-Anbieter des angegebenen Verbindungsservers das COLUMNS-Rowset der IDBSchemaRowset-Schnittstelle nicht unterstützt.
sp_columns_ex erfüllt die Anforderungen für begrenzte Bezeichner. Weitere Informationen finden Sie unter Begrenzte Bezeichner (Datenbankmodul).
Berechtigungen
Setzt die SELECT-Berechtigung für das Schema voraus.
Beispiele
Im folgenden Beispiel wird der Datentyp der JobTitle-Spalte der HumanResources.Employee-Tabelle in der AdventureWorks2008R2-Datenbank auf dem Seattle1-Verbindungsserver zurückgegeben.
EXEC sp_columns_ex 'Seattle1',
'Employee',
'HumanResources',
'AdventureWorks2008R2',
'JobTitle';