Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Vrací sloupcové informace pro specifikované objekty, které lze dotazovat v aktuálním prostředí.
Syntaxe
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 = ] 'Ntable_name'
@table_name je nvarchar(384), bez výchozího nastavení.
Název objektu, který se používá k vrácení informací z katalogu. @table_name může být tabulka, pohled nebo jiný objekt, který tvoří sloupce, například funkce s tabulkovými hodnotami. @table_name je nvarchar(384), bez výchozího nastavení. Je podporováno porovnávání vzorů divoké karty.
[ @table_owner = ] N'table_owner'
Vlastník objektu objektu, který se používá k vrácení informací z katalogu.
@table_owner je nvarchar(384), s výchozím hodnotou NULL. Je podporováno porovnávání vzorů divoké karty. Pokud @table_owner není specifikováno, platí výchozí pravidla pro viditelnost objektů v základním DBMS.
Pokud aktuální uživatel vlastní objekt s tímto jménem, sloupce tohoto objektu se vrátí. Pokud @table_owner není specifikováno a současný uživatel nevlastní objekt s daným @table_name, sp_columns hledejte objekt s tímto specifikovaným @table_name vlastněným vlastníkem databáze. Pokud existuje, sloupce daného objektu se vrátí.
[ @table_qualifier = ] N'table_qualifier'
@table_qualifier je sysname, s výchozím .NULL
Název kvalifikátoru objektu.
@table_qualifier je sysname, s výchozím .NULL Různé produkty DBMS podporují třífázové pojmenování objektů (<qualifier>.<owner>.<name>). V SQL Serveru tento sloupec představuje název databáze. V některých produktech představuje název serveru databázového prostředí objektu.
[ @column_name = ] N'column_name'
Jeden sloupec a používá se, když je požadován pouze jeden sloupec katalogových informací.
@column_name je nvarchar(384), s výchozím hodnotou NULL. Pokud @column_name není specifikováno, všechny sloupce se vrátí. V SQL Serveru @column_name představuje název sloupce, jak je uveden v tabulce syscolumns . Je podporováno porovnávání vzorů divoké karty. Pro maximální interoperabilitu by klient brány měl přebírat pouze standardní porovnání vzorů SQL-92 (znaky % a _ žolíkové znaky).
[ @ODBCVer = ] ODBCVer
Verze ODBC, která se používá.
@ODBCVer je int, s výchozím nastavením 2. To naznačuje ODBC verzi 2. Platné hodnoty jsou 2 nebo 3. Pro rozdíly v chování mezi verzemi 2 a 3 viz specifikace ODBC SQLColumns .
Hodnoty návratového kódu
Žádné.
Sada výsledků
Procedura sp_columns uložená v katalogu je ekvivalentní jako SQLColumns v ODBC. Výsledky vrácené jsou uspořádány podle TABLE_QUALIFIER, TABLE_OWNER, a TABLE_NAME.
| Název sloupce | Datový typ | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Název kvalifikátoru objektu. Toto pole může být .NULL |
TABLE_OWNER |
sysname | Jméno vlastníka objektu. Toto pole vždy vrací hodnotu. |
TABLE_NAME |
sysname | Název objektu. Toto pole vždy vrací hodnotu. |
COLUMN_NAME |
sysname | Název sloupce pro každý sloupec vráceného sloupce TABLE_NAME . Toto pole vždy vrací hodnotu. |
DATA_TYPE |
smallint | Celočíselný kód pro datový typ ODBC. Pokud tento datový typ nelze mapovat na typ ODBC, je NULLto . Nativní název datového typu se vrací ve sloupci TYPE_NAME . |
TYPE_NAME |
sysname | Řetězec reprezentující datový typ. Základní DBMS představuje tento název datového typu. |
PRECISION |
int | Počet významných číslic. Návratová hodnota sloupce PRECISION je v soustavě 10. |
LENGTH |
int | Velikost přenosu dat. 1 |
SCALE |
smallint | Počet číslic napravo od desetinné čárky. |
RADIX |
smallint | Základ pro numerické datové typy. |
NULLABLE |
smallint | Specifikuje nulovatelnost.1
=
NULL je možné.0 = NE NULL. |
REMARKS |
varchar(254) | Toto pole vždy vrací NULL. |
COLUMN_DEF |
nvarchar(4000) | Výchozí hodnota sloupce |
SQL_DATA_TYPE |
smallint | Hodnota SQL datového typu, jak se objevuje v poli TYPE v deskriptoru. Tento sloupec je stejný jako sloupecDATA_TYPE, kromě datových typů intervalů pro datetime a SQL-92. Tento sloupec vždy vrací hodnotu. |
SQL_DATETIME_SUB |
smallint | Podtyp kód pro datové typy datového času a intervalů v SQL-92. Pro jiné datové typy tento sloupec vrací NULL. |
CHAR_OCTET_LENGTH |
int | Maximální délka sloupce znaku nebo celočíselného datového typu v bajtech. Pro všechny ostatní datové typy tento sloupec vrací NULL. |
ORDINAL_POSITION |
int | Ordinální pozice sloupce v objektu. První sloupec objektu je 1. Tento sloupec vždy vrací hodnotu. |
IS_NULLABLE |
varchar(254) | Nulovatelnost sloupce v objektu. Pravidla ISO se dodržují pro určení neplatnosti. DBMS kompatibilní s ISO SQL nemůže vrátit prázdný řetězec.YES = Sloupec může obsahovat NULL.NO = Sloupec nemůže obsahovat NULL.Tento sloupec vrací řetězec nulové délky, pokud není nulovost známa. Hodnota vrácená pro tento sloupec se liší od hodnoty vrácené pro sloupec NULLABLE . |
SS_DATA_TYPE |
tinyint | Typ dat SQL Server používaný rozšířenými uloženými procedurami. Další informace naleznete v tématu Datové typy. |
1 Pro více informací viz Přehled ODBC.
Povolení
Požadavky SELECT a VIEW DEFINITION oprávnění na schématu.
Poznámky
sp_columns splňuje požadavky na vymezené identifikátory. Další informace naleznete v tématu Identifikátory databáze.
Examples
Ukázky kódu v tomto článku používají ukázkovou databázi AdventureWorks2025 nebo AdventureWorksDW2025, kterou si můžete stáhnout z domovské stránky Microsoft SQL Serveru pro ukázky a komunitní projekty .
Následující příklad vrací informace o sloupcích pro zadanou tabulku.
USE AdventureWorks2022;
GO
EXECUTE sp_columns
@table_name = N'Department',
@table_owner = N'HumanResources';
Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)
Následující příklad vrací informace o sloupcích pro zadanou tabulku.
USE AdventureWorksDW2022;
GO
EXECUTE sp_columns
@table_name = N'DimEmployee',
@table_owner = N'dbo';
Související obsah
- sp_tables (Transact-SQL)
- Katalogizované uložené procedury (Transact-SQL)
- uložené procedury systému (Transact-SQL)