sp_columns (Transact-SQL)
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Endpunkt in Microsoft Fabric
Warehouse in Microsoft Fabric
Gibt Spalteninformationen für die angegebenen, in der aktuellen Umgebung abfragbaren Objekte zurück.
Transact-SQL-Syntaxkonventionen
Syntax
sp_columns [ @table_name = ] object
[ , [ @table_owner = ] owner ]
[ , [ @table_qualifier = ] qualifier ]
[ , [ @column_name = ] column ]
[ , [ @ODBCVer = ] ODBCVer ]
Argumente
[ @table_name = ] object
: der Name des Objekts, das zum Zurückgeben von Kataloginformationen verwendet wird. object kann eine Tabelle, eine Sicht oder ein anderes Objekt mit Spalten sein, z. B. Tabellenwertfunktionen. object ist vom Datentyp nvarchar(384) und hat keinen Standardwert. Mustervergleiche mit Platzhalterzeichen werden unterstützt.
[ @table_owner = ] owner
: der Objektbesitzer des Objekts, das zum Zurückgeben von Kataloginformationen verwendet wird. owner ist vom Datentyp nvarchar(384) und hat den Standardwert NULL. Mustervergleiche mit Platzhalterzeichen werden unterstützt. Wenn owner nicht angegeben ist, werden die Standardregeln für die Tabellensichtbarkeit des zugrunde liegenden DBMS angewendet.
Wenn der aktuelle Benutzer ein Objekt mit dem angegebenen Namen besitzt, werden die Spalten dieses Objekts zurückgegeben. Wenn owner nicht angegeben ist und der aktuelle Benutzer oder die aktuelle Benutzerin kein Objekt mit dem angegebenen object-Wert besitzt, sucht sp_column nach einem Objekt mit dem angegebenen object-Wert, das im Besitz des Datenbankbesitzers ist. Sofern ein solches Objekt vorhanden ist, werden dessen Spalten zurückgegeben.
[ @table_qualifier = ] qualifier
: der Name des Objektqualifizierers. qualifier ist vom Datentyp sysnameund hat den Standardwert NULL. Verschiedene DBMS-Produkte unterstützen eine dreiteilige Benennung für Objekte (qualifier.owner.name). In SQL Server stellt diese Spalte den Datenbanknamen dar. Bei einigen anderen Produkten stellt sie den Servernamen der Datenbankumgebung für das Objekt dar.
[ @column_name = ] column
: eine einzelne Spalte, die verwendet wird, wenn nur eine Spalte mit Kataloginformationen gewünscht wird. column ist vom Datentyp nvarchar(384) und hat den Standardwert NULL. Wenn column nicht angegeben ist, werden alle Spalten zurückgegeben. In SQL Server stellt column den Spaltennamen dar, so wie er in der Tabelle syscolumns aufgelistet ist. Mustervergleiche mit Platzhalterzeichen werden unterstützt. Für eine optimale Interoperabilität sollte der Gatewayclient nur einen SQL-92-Standardmustervergleich voraussetzen (die Platzhalterzeichen % und _).
[ @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
Die gespeicherte Katalogprozedur sp_columns entspricht SQLColumns in ODBC. Die zurückgegebenen Ergebnisse sind nach TABLE_QUALIFIER, TABLE_OWNER und TABLE_NAME sortiert.
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
TABLE_QUALIFIER | sysname | Objektqualifizierername. Dieses Feld kann den Wert NULL annehmen. |
TABLE_OWNER | sysname | Objektbesitzername. Dieses Feld gibt immer einen Wert zurück. |
TABLE_NAME | sysname | Objektname 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 | Ganzzahliger Code für den ODBC-Datentyp. Bei einem Datentyp, der keinem ODBC-Datentyp zugeordnet werden kann, ist der Wert NULL. Der Name des nativen Datentyps wird in der Spalte TYPE_NAME zurückgegeben. |
TYPE_NAME | sysname | Die Zeichenfolge, die den Datentyp darstellt. Den Datentypnamen stellt das zugrunde liegende DBMS bereit. |
PRECISION | int | Die Anzahl von signifikanten Stellen. Der Rückgabewert für die Spalte PRECISION hat die Basis 10. |
LENGTH | int | Die Übertragungsgröße der Daten.1 |
SCALE | smallint | Die Anzahl der Ziffern rechts vom Dezimalzeichen |
RADIX | smallint | 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 | nvarchar(4000) | 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 des Objekts. Die erste Spalte im Objekt hat den Wert 1. Diese Spalte gibt immer einen Wert zurück. |
IS_NULLABLE | varchar(254) | Die NULL-Zulässigkeit einer Spalte innerhalb des Objekts. 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 | Der SQL Server-Datentyp, der von erweiterten gespeicherten Prozeduren verwendet wird. Weitere Informationen finden Sie unter Datentypen (Transact-SQL). |
1 Weitere Informationen finden Sie in der Microsoft ODBC-Dokumentation.
Berechtigungen
Erfordert SELECT- und VIEW DEFINITION-Berechtigungen im Schema.
Bemerkungen
Für sp_columns gelten die Anforderungen für Begrenzungsbezeichner. Weitere Informationen finden Sie unter Datenbankbezeichner.
Beispiele
Im folgenden Beispiel werden die Spalteninformationen für die angegebene Tabelle zurückgegeben.
USE AdventureWorks2022;
GO
EXEC sp_columns @table_name = N'Department',
@table_owner = N'HumanResources';
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
Im folgenden Beispiel werden die Spalteninformationen für die angegebene Tabelle zurückgegeben.
-- Uses AdventureWorks
EXEC sp_columns @table_name = N'DimEmployee',
@table_owner = N'dbo';
Weitere Informationen
sp_tables (Transact-SQL)
Gespeicherte Prozeduren für Kataloginformationen (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)