Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Zwraca informacje kolumnowe dla określonych obiektów, które można zapytać w bieżącym środowisku.
Transact-SQL konwencje składni
Składnia
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 to nvarchar(384), bez domyślnego statusu.
Nazwa obiektu używanego do zwracania informacji katalogowych. @table_name może być tabelą, widokiem lub innym obiektem składającym się z kolumn, takich jak funkcje tabelowe. @table_name to nvarchar(384), bez domyślnego statusu. Obsługiwane jest dopasowanie wzorców dzikich.
[ @table_owner = ] N'table_owner'
Właściciel obiektu używany do zwracania informacji katalogowych.
@table_owner to nvarchar(384), z domyślnym obciążeniem NULL. Obsługiwane jest dopasowanie wzorców dzikich. Jeśli @table_owner nie jest określona, domyślne reguły widoczności obiektów bazowego DBMS są zastosowane.
Jeśli aktualny użytkownik posiada obiekt o określonej nazwie, kolumny tego obiektu są zwracane. Jeśli @table_owner nie jest określone, a obecny użytkownik nie posiada obiektu o określonej @table_name, sp_columns szukaj obiektu o określonej @table_name należącej do właściciela bazy danych. Jeśli taki istnieje, kolumny tego obiektu są zwracane.
[ @table_qualifier = ] N'table_qualifier'
@table_qualifier to nazwa systemu, z domyślnym obciążeniem NULL.
Nazwa kwalifikatora obiektu.
@table_qualifier to nazwa systemu, z domyślnym obciążeniem NULL. Różne produkty DBMS obsługują trzyczęściowe nazewnictwo obiektów (<qualifier>.<owner>.<name>). W SQL Server ta kolumna oznacza nazwę bazy danych. W niektórych produktach reprezentuje nazwę serwera środowiska bazodanowego obiektu.
[ @column_name = ] N'column_name'
Pojedyncza kolumna i jest używana, gdy potrzebna jest tylko jedna kolumna informacji katalogowych.
@column_name to nvarchar(384), z domyślnym obciążeniem NULL. Jeśli @column_name nie jest określone, wszystkie kolumny są zwracane. W SQL Server @column_name reprezentuje nazwę kolumny podaną w tabeli syscolumns . Obsługiwane jest dopasowanie wzorców dzikich. Dla maksymalnej interoperacyjności, klient bramy powinien przyjmować jedynie dopasowanie wzorców standardowych SQL-92 (znaki % i _ znaki dzikie).
[ @ODBCVer = ] ODBCVer
Wersja ODBC, która jest używana.
@ODBCVer jest int, z domyślnym obciążeniem 2. To wskazuje na wersję ODBC 2. Prawidłowe wartości to 2 lub 3. Różnice w zachowaniu między wersjami 2 i 3 można znaleźć w specyfikacji ODBC SQLColumns .
Zwracanie wartości kodu
Żaden.
Zestaw wyników
Procedura sp_columns katalogowa jest równoważna procedurze SQLColumns w ODBC. Wyniki zwracane są uporządkowane przez TABLE_QUALIFIER, TABLE_OWNER, oraz TABLE_NAME.
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Nazwa kwalifikatora obiektu. To ciało może być .NULL |
TABLE_OWNER |
sysname | Nazwa właściciela obiektu. To pole zawsze zwraca wartość. |
TABLE_NAME |
sysname | Nazwa obiektu. To pole zawsze zwraca wartość. |
COLUMN_NAME |
sysname | Nazwa kolumny, dla każdej kolumny zwróconej kolumny TABLE_NAME . To pole zawsze zwraca wartość. |
DATA_TYPE |
smallint | Kod całkowitoliczbowy dla typu danych ODBC. Jeśli tego typu danych nie można odwzorować na typ ODBC, to jest NULL. Natywna nazwa typu danych jest zwracana w kolumnie TYPE_NAME . |
TYPE_NAME |
sysname | Ciąg reprezentujący typ danych. Bazowy DBMS prezentuje tę nazwę typu danych. |
PRECISION |
int | Liczba cyfr znaczących. Wartość zwrotu dla kolumny PRECISION znajduje się w bazie 10. |
LENGTH |
int | Rozmiar transferu danych. 1 |
SCALE |
smallint | Liczba cyfr po prawej stronie przecinka. |
RADIX |
smallint | Podstawa dla numerycznych typów danych. |
NULLABLE |
smallint | Określa możliwość zerowania.1
=
NULL jest możliwe.0= NIE .NULL |
REMARKS |
varchar(254) | To pole zawsze zwraca NULL. |
COLUMN_DEF |
nvarchar(4000) | Wartość domyślna kolumny. |
SQL_DATA_TYPE |
smallint | Wartość typu danych SQL tak, jak pojawia się w polu TYPE deskryptora. Ta kolumna jest taka sama jak kolumna DATA_TYPE , z wyjątkiem daty, czasu i typów interwałów SQL-92. Ta kolumna zawsze zwraca wartość. |
SQL_DATETIME_SUB |
smallint | Kod podtypu dla datowych i interwałowych typów SQL-92. Dla innych typów danych ta kolumna zwraca NULL. |
CHAR_OCTET_LENGTH |
int | Maksymalna długość w bajtach kolumny znaku lub całkowitoliczbowego typu danych. Dla wszystkich pozostałych typów danych ta kolumna zwraca NULL. |
ORDINAL_POSITION |
int | Pozycja porządkowa kolumny w obiekcie. Pierwsza kolumna w obiekcie to 1. Ta kolumna zawsze zwraca wartość. |
IS_NULLABLE |
varchar(254) | Nieważność kolumny w obiekcie. Stosuje się zasady ISO w celu określenia nieważności. DBMS zgodny z ISO SQL nie może zwrócić pustego ciągu znaków.YES = Kolumna może zawierać NULL.NO = Kolumna nie może zawierać NULL.Ta kolumna zwraca ciąg o zerowej długości, jeśli nieznana jest nieważność. Wartość zwracana dla tej kolumny różni się od wartości zwracanej dla kolumny NULLABLE . |
SS_DATA_TYPE |
tinyint | Typ danych SQL Server używany przez rozszerzone procedury przechowywane. Aby uzyskać więcej informacji, zobacz Typy danych. |
1 Więcej informacji można znaleźć w przeglądzie ODBC.
Permissions
Wymagania SELECT i VIEW DEFINITION uprawnienia dotyczące schematu.
Uwagi
sp_columns spełnia wymagania dotyczące identyfikatorów delimitowanych. Aby uzyskać więcej informacji, zobacz Identyfikatory bazy danych.
Przykłady
Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.
Poniższy przykład zwraca informacje kolumnowe dla określonej tabeli.
USE AdventureWorks2022;
GO
EXECUTE sp_columns
@table_name = N'Department',
@table_owner = N'HumanResources';
Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)
Poniższy przykład zwraca informacje kolumnowe dla określonej tabeli.
USE AdventureWorksDW2022;
GO
EXECUTE sp_columns
@table_name = N'DimEmployee',
@table_owner = N'dbo';