sp_columns (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-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 = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @column_name = ] N'column_name' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Argumente
[ @table_name = ] N'table_name'
@table_name ist nvarchar(384), ohne Standard.
Der Name des Objekts, das verwendet wird, um Kataloginformationen zurückzugeben. @table_name kann es sich um eine Tabelle, Ansicht oder ein anderes Objekt handeln, das Spalten wie Tabellenwertfunktionen darstellt. @table_name ist nvarchar(384), ohne Standard. Mustervergleiche mit Platzhalterzeichen werden unterstützt.
[ @table_owner = ] N'table_owner'
Der Objektbesitzer des Objekts, das verwendet wird, um Kataloginformationen zurückzugeben. @table_owner ist "nvarchar(384)" mit einem Standardwert von NULL
. Mustervergleiche mit Platzhalterzeichen werden unterstützt. Wenn @table_owner nicht angegeben ist, gelten die Standardregeln für die Objektsichtbarkeit der zugrunde liegenden DBMS.
Wenn der aktuelle Benutzer ein Objekt mit dem angegebenen Namen besitzt, werden die Spalten dieses Objekts zurückgegeben. Wenn @table_owner nicht angegeben ist und der aktuelle Benutzer kein Objekt mit dem angegebenen @table_name besitzt, sp_columns
sucht nach einem Objekt mit dem angegebenen @table_name im Besitz des Datenbankbesitzers. Sofern ein solches Objekt vorhanden ist, werden dessen Spalten zurückgegeben.
[ @table_qualifier = ] N'table_qualifier'
@table_qualifier ist "sysname" mit einem Standardwert von NULL
.
Der Name des Objektqualifizierers. @table_qualifier ist "sysname" mit einem Standardwert von NULL
. Verschiedene DBMS-Produkte unterstützen die 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 = ] N'column_name'
Eine einzelne Spalte und wird verwendet, wenn nur eine Spalte mit Kataloginformationen gewünscht wird. @column_name ist nvarchar(384), mit einem Standardwert von NULL
. Wenn @column_name nicht angegeben ist, werden alle Spalten zurückgegeben. In SQL Server stellt @column_name den Spaltennamen dar, wie in der syscolumns
Tabelle aufgeführt. Mustervergleiche mit Platzhalterzeichen werden unterstützt. Für die maximale Interoperabilität sollte der Gatewayclient nur den SQL-92-Standardmusterabgleich (die und _
die %
Wildcardzeichen) übernehmen.
[ @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
. Die Verhaltensunterschiede zwischen den Versionen 2 und 3 finden Sie in der ODBC-Spezifikation SQLColumns
.
Rückgabecodewerte
Keine.
Resultset
Die sp_columns
gespeicherte Katalogprozedur entspricht SQLColumns
in ODBC. Die zurückgegebenen Ergebnisse werden nach TABLE_QUALIFIER
, TABLE_OWNER
und TABLE_NAME
.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
TABLE_QUALIFIER |
sysname | Objektqualifizierername. Dieses Feld kann sein NULL . |
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 | Spaltenname für jede Spalte der TABLE_NAME zurückgegebenen. Dieses Feld gibt immer einen Wert zurück. |
DATA_TYPE |
smallint | Ganzzahliger Code für den ODBC-Datentyp. Wenn dieser Datentyp keinem ODBC-Typ zugeordnet werden kann, lautet NULL er . Der name des nativen Datentyps wird in der TYPE_NAME Spalte 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 PRECISION Spalte befindet sich in Der 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 = NICHT NULL . |
REMARKS |
varchar(254) | Dieses Feld gibt immer zurück NULL . |
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 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 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 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 | Der SQL Server-Datentyp, der von erweiterten gespeicherten Prozeduren verwendet wird. Weitere Informationen finden Sie unter Datentypen. |
1 Weitere Informationen finden Sie in der ODBC-Übersicht.
Berechtigungen
Erfordert SELECT
und VIEW DEFINITION
Berechtigungen für das Schema.
Hinweise
sp_columns
folgt den Anforderungen für durch Trennzeichen getrennte Bezeichner. Weitere Informationen finden Sie unter Datenbankbezeichner.
Beispiele
Die Transact-SQL-Codebeispiele in diesem Artikel verwenden die AdventureWorks2022
- oder AdventureWorksDW2022
-Beispieldatenbank, die Sie von der Homepage Microsoft SQL Server Samples and Community Projects herunterladen können.
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.
USE AdventureWorksDW2022;
GO
EXEC sp_columns
@table_name = N'DimEmployee',
@table_owner = N'dbo';