Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Returnerar kolumninformation för de specificerade objekt som kan frågas i den aktuella miljön.
Transact-SQL syntaxkonventioner
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 ]
[ ; ]
Arguments
[ @table_name = ] N'table_name'
@table_name är nvarchar(384), utan standard.
Namnet på objektet som används för att returnera kataloginformation. @table_name kan vara en tabell, vy eller annat objekt som består av kolumner som tabellvärda funktioner. @table_name är nvarchar(384), utan standard. Wildcard-mönstermatchning stöds.
[ @table_owner = ] N'table_owner'
Objektägaren till objektet som används för att returnera kataloginformation.
@table_owner är nvarchar(384), med en standard på NULL. Wildcard-mönstermatchning stöds. Om @table_owner inte specificeras gäller standardreglerna för objektsynlighet i det underliggande DBMS.
Om den nuvarande användaren äger ett objekt med det angivna namnet returneras kolumnerna i det objektet. Om @table_owner inte är specificerat och den nuvarande användaren inte äger ett objekt med den angivna @table_name, sp_columns leta efter ett objekt med den angivna @table_name som ägs av databasägaren. Om en sådan existerar, returneras objektets kolumner.
[ @table_qualifier = ] N'table_qualifier'
@table_qualifier är sysname, med standardvärdet .NULL
Namnet på objektkvalificeraren.
@table_qualifier är sysname, med standardvärdet .NULL Olika DBMS-produkter stödjer tredelad namngivning för objekt (<qualifier>.<owner>.<name>). I SQL Server representerar denna kolumn databasens namn. I vissa produkter representerar den servernamnet på objektets databasmiljö.
[ @column_name = ] N'column_name'
En enda kolumn och används när endast en kolumn med kataloginformation önskas.
@column_name är nvarchar(384), med en standard på NULL. Om @column_name inte anges returneras alla kolumner. I SQL Server representerar @column_name kolumnnamnet som anges i tabellen syscolumns . Wildcard-mönstermatchning stöds. För maximal interoperabilitet bör gateway-klienten endast anta SQL-92-standardmönstermatchning (jokertecken % och _ jokertecken).
[ @ODBCVer = ] ODBCVer
Den version av ODBC som används.
@ODBCVer är int, med standardvärdet .2 Detta indikerar ODBC version 2. Giltiga värden är 2 eller 3. För beteendeskillnaderna mellan version 2 och 3, se ODBC-specifikationen SQLColumns .
Returnera kodvärden
Ingen.
Resultatuppsättning
Kataloglagret sp_columns procedur motsvarar SQLColumns den i ODBC. De returnerade resultaten är ordnade efter TABLE_QUALIFIER, TABLE_OWNER, och TABLE_NAME.
| Kolumnnamn | Datatyp | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Namn på objektkvalificeraren. Detta fält kan vara NULL. |
TABLE_OWNER |
sysname | Objekt ägarens namn. Detta fält returnerar alltid ett värde. |
TABLE_NAME |
sysname | Objektnamn. Detta fält returnerar alltid ett värde. |
COLUMN_NAME |
sysname | Kolumnnamn, för varje kolumn i den TABLE_NAME returnerade. Detta fält returnerar alltid ett värde. |
DATA_TYPE |
smallint | Heltalskod för ODBC-datatyp. Om denna datatyp inte kan mappas till en ODBC-typ är det NULL. Det ursprungliga datatypnamnet returneras i kolumnen TYPE_NAME . |
TYPE_NAME |
sysname | Sträng som representerar en datatyp. Det underliggande DBMS presenterar detta datatypnamn. |
PRECISION |
int | Antal signifikanta siffror. Returvärdet för kolumnen PRECISION är i bas 10. |
LENGTH |
int | Överför datastorleken. 1 |
SCALE |
smallint | Antal siffror till höger om decimalpunkten. |
RADIX |
smallint | Basen för numeriska datatyper. |
NULLABLE |
smallint | Specificerar nullbarhet.1
=
NULL är möjligt.0 = INTE NULL. |
REMARKS |
Varchar(254) | Detta fält returnerar NULLalltid . |
COLUMN_DEF |
nvarchar(4000) | Standardvärdet för kolumnen. |
SQL_DATA_TYPE |
smallint | Värdet på SQL-datatypen som den visas i fältet TYPE i deskriptorn. Denna kolumn är densamma som kolumnenDATA_TYPE, förutom datatyperna datetime och SQL-92-intervalldatatyperna. Denna kolumn returnerar alltid ett värde. |
SQL_DATETIME_SUB |
smallint | Subtypkod för datetime- och SQL-92-intervalldatatyper. För andra datatyper returnerar NULLdenna kolumn . |
CHAR_OCTET_LENGTH |
int | Maximal längd i byte av en kolumn för tecken eller heltalsdatatyp. För alla andra datatyper returnerar NULLdenna kolumn . |
ORDINAL_POSITION |
int | Kolumnens ordinala position i objektet. Den första kolumnen i objektet är 1. Denna kolumn returnerar alltid ett värde. |
IS_NULLABLE |
Varchar(254) | Nullbarhet för kolumnen i objektet. ISO-regler följs för att avgöra nullbarhet. Ett ISO SQL-kompatibelt DBMS kan inte returnera en tom sträng.YES = Kolumnen kan inkludera NULL.NO = Kolumnen kan inte inkludera NULL.Denna kolumn returnerar en sträng av nolllängd om nullbarhet är okänd. Värdet som returneras för denna kolumn skiljer sig från värdet som returneras för kolumnen NULLABLE . |
SS_DATA_TYPE |
tinyint | SQL Server-datatyp som används av utökade lagrade procedurer. Mer information finns i Datatyper. |
1 För mer information, se ODBC Översikt.
Permissions
Krav SELECT och VIEW DEFINITION behörigheter på schemat.
Anmärkningar
sp_columns följer kraven för avgränsade identifierare. Mer information finns i Databasidentifierare.
Examples
Kodexemplen i den här artikeln använder AdventureWorks2025- eller AdventureWorksDW2025-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.
Följande exempel returnerar kolumninformation för en specificerad tabell.
USE AdventureWorks2022;
GO
EXECUTE sp_columns
@table_name = N'Department',
@table_owner = N'HumanResources';
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
Följande exempel returnerar kolumninformation för en specificerad tabell.
USE AdventureWorksDW2022;
GO
EXECUTE sp_columns
@table_name = N'DimEmployee',
@table_owner = N'dbo';