Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Geeft kolominformatie terug voor de gespecificeerde objecten die in de huidige omgeving kunnen worden geraadpleegd.
Transact-SQL syntaxis-conventies
Syntaxis
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 is nvarchar(384), zonder standaard.
De naam van het object dat wordt gebruikt om catalogusinformatie terug te geven. @table_name kan een tabel, weergave of ander object zijn dat kolommen bevat zoals tabelwaardige functies. @table_name is nvarchar(384), zonder standaard. Wildcard-patroonmatching wordt ondersteund.
[ @table_owner = ] N'table_owner'
De objecteigenaar van het object dat wordt gebruikt om catalogusinformatie terug te geven.
@table_owner is nvarchar(384), met een standaard van NULL. Wildcard-patroonmatching wordt ondersteund. Als @table_owner niet is gespecificeerd, gelden de standaard objectzichtbaarheidsregels van de onderliggende DBMS.
Als de huidige gebruiker een object bezit met de opgegeven naam, worden de kolommen van dat object teruggegeven. Als @table_owner niet is gespecificeerd en de huidige gebruiker geen object bezit met de opgegeven @table_name, sp_columns zoek dan naar een object met de gespecificeerde @table_name eigendom van de database-eigenaar. Als er een bestaat, worden de kolommen van dat object teruggegeven.
[ @table_qualifier = ] N'table_qualifier'
@table_qualifier is sysname, met als standaard .NULL
De naam van de objectkwalificatie.
@table_qualifier is sysname, met als standaard .NULL Verschillende DBMS-producten ondersteunen driedelige naamgeving voor objecten (<qualifier>.<owner>.<name>). In SQL Server vertegenwoordigt deze kolom de databasenaam. In sommige producten vertegenwoordigt het de servernaam van de databaseomgeving van het object.
[ @column_name = ] N'column_name'
Een enkele kolom en wordt gebruikt wanneer slechts één kolom catalogusinformatie nodig is.
@column_name is nvarchar(384), met een standaard van NULL. Als @column_name niet is gespecificeerd, worden alle kolommen teruggegeven. In SQL Server vertegenwoordigt @column_name de kolomnaam zoals vermeld in de syscolumns tabel. Wildcard-patroonmatching wordt ondersteund. Voor maximale interoperabiliteit moet de gateway-client alleen SQL-92 standaard patroonmatching aannemen (de en % wildcard-tekens_).
[ @ODBCVer = ] ODBCVer
De versie van ODBC die wordt gebruikt.
@ODBCVer is int, met een standaard van 2. Dit duidt op ODBC Versie 2. Geldige waarden zijn 2 of 3. Voor de gedragsverschillen tussen versies 2 en 3, zie de ODBC-specificatie SQLColumns .
Codewaarden retourneren
Geen.
Resultaatset
De sp_columns catalogusbewaarde procedure is gelijkwaardig aan die SQLColumns in ODBC. De teruggegeven resultaten zijn geordend door TABLE_QUALIFIER, TABLE_OWNER, en TABLE_NAME.
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Naam van objectkwalificatie. Dit veld kan zijn NULL. |
TABLE_OWNER |
sysname | Naam van objecteigenaar. Dit veld geeft altijd een waarde terug. |
TABLE_NAME |
sysname | Objectnaam. Dit veld geeft altijd een waarde terug. |
COLUMN_NAME |
sysname | Kolomnaam, voor elke kolom van de teruggestuurde kolom TABLE_NAME . Dit veld geeft altijd een waarde terug. |
DATA_TYPE |
smallint | Integercode voor ODBC-datatype. Als dit datatype niet aan een ODBC-type kan worden gekoppeld, is NULLhet . De naam van het native datatype wordt in de TYPE_NAME kolom teruggegeven. |
TYPE_NAME |
sysname | String die een datatype vertegenwoordigt. Het onderliggende DBMS presenteert deze naam van het datatype. |
PRECISION |
int | Aantal significante cijfers. De retourwaarde voor de PRECISION kolom staat in basis 10. |
LENGTH |
int | Overdrachtsgrootte van de data. 1 |
SCALE |
smallint | Aantal cijfers rechts van het decimale punt. |
RADIX |
smallint | Basis voor numerieke datatypes. |
NULLABLE |
smallint | Specificeert nullability.1
=
NULL is mogelijk.0 = NIET NULL. |
REMARKS |
Varchar(254) | Dit veld geeft altijd .NULL |
COLUMN_DEF |
nvarchar(4000) | Standaardwaarde van de kolom. |
SQL_DATA_TYPE |
smallint | Waarde van het SQL-datatype zoals het verschijnt in het TYPE-veld van de descriptor. Deze kolom is hetzelfde als de DATA_TYPE kolom, behalve voor de datatypes datetime en SQL-92 intervalgegevens . Deze kolom geeft altijd een waarde terug. |
SQL_DATETIME_SUB |
smallint | Subtypecode voor datetime- en SQL-92-intervaldatatypes. Voor andere datatypen geeft deze kolom .NULL |
CHAR_OCTET_LENGTH |
int | Maximale lengte in bytes van een kolom voor een teken of geheel getal datatype. Voor alle andere datatypen geeft deze kolom .NULL |
ORDINAL_POSITION |
int | Ordinaalpositie van de kolom in het object. De eerste kolom in het object is 1. Deze kolom geeft altijd een waarde terug. |
IS_NULLABLE |
Varchar(254) | Nulbaarheid van de kolom in het object. ISO-regels worden gevolgd om de nulliteit te bepalen. Een ISO-SQL-conforme DBMS kan geen lege string teruggeven.YES= De kolom kan .NULLNO = Kolom kan niet bevatten NULL.Deze kolom geeft een string van nul lengte terug als de nullability onbekend is. De waarde die voor deze kolom wordt geretourneerd verschilt van de waarde die voor de NULLABLE kolom wordt geretourneerd. |
SS_DATA_TYPE |
tinyint | SQL Server-datatype dat wordt gebruikt door uitgebreide opgeslagen procedures. Zie Gegevenstypen voor meer informatie. |
1 Voor meer informatie, zie ODBC Overzicht.
Permissions
Vereisten SELECT en VIEW DEFINITION rechten op het schema.
Opmerkingen
sp_columns volgt de vereisten voor afgebakende identificaties. Zie Database-id's voor meer informatie.
Voorbeelden
De codevoorbeelden in dit artikel gebruiken de AdventureWorks2025 of AdventureWorksDW2025 voorbeelddatabase die u kunt downloaden van de startpagina van Microsoft SQL Server Samples en Community Projects .
Het volgende voorbeeld geeft kolominformatie voor een opgegeven tabel terug.
USE AdventureWorks2022;
GO
EXECUTE sp_columns
@table_name = N'Department',
@table_owner = N'HumanResources';
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
Het volgende voorbeeld geeft kolominformatie voor een opgegeven tabel terug.
USE AdventureWorksDW2022;
GO
EXECUTE sp_columns
@table_name = N'DimEmployee',
@table_owner = N'dbo';