sp_columns (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric
Возвращает сведения о столбце для указанных объектов, которые могут быть запрошены в текущей среде.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_columns [ @table_name = ] object
[ , [ @table_owner = ] owner ]
[ , [ @table_qualifier = ] qualifier ]
[ , [ @column_name = ] column ]
[ , [ @ODBCVer = ] ODBCVer ]
Аргументы
[ @table_name = ] object
Имя объекта, используемого для возврата сведений каталога. объект может быть таблицей, представлением или другим объектом, который содержит столбцы, такие как табличное значение функций. объект nvarchar (384) без значения по умолчанию. Поиск совпадений по шаблону поддерживается.
[ @table_owner = ] owner
Является владельцем объекта, который используется для возврата сведений каталога. владелец nvarchar (384)с значением NULL по умолчанию. Поиск совпадений по шаблону поддерживается. Если владелец не указан, применяются правила видимости объектов по умолчанию для базовых СУБД.
Если текущий пользователь является владельцем объекта с указанным именем, то возвращаются столбцы этого объекта. Если владелец не указан, а текущий пользователь не владеет объектом с указанным объектом, sp_columns ищет объект с указанным объектом, принадлежащим владельцу базы данных. Если таковой существует, возвращаются столбцы этого объекта.
[ @table_qualifier = ] qualifier
Имя квалификатора объекта. квалификатор — sysname с значением NULL по умолчанию. Различные продукты СУБД поддерживают трехкомпонентное именование объектов (квалификатор).владелец.имя). В SQL Server этот столбец представляет имя базы данных. В некоторых продуктах он представляет имя сервера в среде базы данных объекта.
[ @column_name = ] column
Является одним столбцом и используется, если требуется только один столбец сведений каталога. столбец имеет значение nvarchar(384) с значением NULL по умолчанию. Если столбец не указан, возвращаются все столбцы. В SQL Server столбец представляет имя столбца , указанное в таблице syscolumns . Поиск совпадений по шаблону поддерживается. Для максимальной совместимости клиент шлюза должен использовать только стандартное согласование SQL-92 (символы-шаблоны % и _).
[ @ODBCVer = ] ODBCVer
Используется версия ODBC. ODBCVer имеет значение int с значением по умолчанию 2. Это значение соответствует ODBC версии 2. Допустимы значения 2 или 3. Различия в поведении между версиями 2 и 3 см. в спецификации ODBC SQLColumns .
Значения кода возврата
нет
Результирующие наборы
Хранимая процедура каталога sp_columns эквивалентна SQLColumns в ODBC. Возвращаемые результаты упорядочены по TABLE_QUALIFIER, TABLE_OWNER и TABLE_NAME.
Имя столбца | Тип данных | Description |
---|---|---|
TABLE_QUALIFIER | sysname | Имя квалификатора объекта. Это поле может иметь значение NULL. |
TABLE_OWNER | sysname | Имя владельца объекта. Это поле всегда возвращает значение. |
TABLE_NAME | sysname | Имя объекта. Это поле всегда возвращает значение. |
COLUMN_NAME | sysname | Имя столбца для каждого столбца возвращаемого TABLE_NAME . Это поле всегда возвращает значение. |
DATA_TYPE | smallint | Целочисленный код типа данных ODBC. Если этот тип данных не может быть сопоставлен с типом данных ODBC, возвращается значение NULL. Имя собственного типа данных возвращается в столбце TYPE_NAME . |
TYPE_NAME | sysname | Тип данных в символьном представлении. Название типа предоставляется базовой СУБД. |
PRECISION | int | Количество значащих цифр. Возвращаемое значение столбца PRECISION находится в базе 10. |
LENGTH | int | Размер передачи данных.1 |
ШКАЛА | smallint | Число цифр справа от десятичной запятой. |
КОРЕНЬ | smallint | Основание системы счисления числовых типов данных. |
ЗНАЧЕНИЕ NULL | smallint | Указывает возможность содержать значение NULL. 1 = значение NULL допустимо. 0 = значение NULL недопустимо. |
ЗАМЕЧАНИЯ | varchar(254) | Это поле всегда возвращает значение NULL. |
COLUMN_DEF | nvarchar(4000) | Значение столбца по умолчанию. |
SQL_DATA_TYPE | smallint | Значение типа данных SQL в том же виде, что и в поле TYPE дескриптора. Этот столбец совпадает с столбцом DATA_TYPE, за исключением типов данных даты и времени и интервала SQL-92. Этот столбец всегда возвращает значение . |
SQL_DATETIME_SUB | smallint | Код подтипа для типов данных datetime и SQL-92 интервала . Для других типов данных этот столбец возвращает значение NULL. |
CHAR_OCTET_LENGTH | int | Максимальная длина столбца символьного или целочисленного типа в байтах. Для всех других типов данных этот столбец возвращает значение NULL. |
ORDINAL_POSITION | int | Порядковый номер столбца в объекте. Первый столбец в объекте имеет порядковый номер 1. Этот столбец всегда возвращает значение . |
IS_NULLABLE | varchar(254) | Допустимость значений NULL для столбца объекта. Допустимость значений NULL определяется в соответствии с правилами ISO. СУБД, совместимая с ISO SQL, не может вернуть пустую строку. YES = Столбец может содержать значение NULL. NO = Столбец не может содержать значения NULL. Если допустимость значения NULL неизвестна, то этот столбец возвращает строку нулевой длины. Значение, возвращаемое для этого столбца, отличается от значения, возвращаемого для столбца NULLABLE . |
SS_DATA_TYPE | tinyint | Тип данных SQL Server, используемый расширенными хранимыми процедурами. Дополнительные сведения см. в разделе Типы данных (Transact-SQL). |
1 Дополнительные сведения см. в документации по Microsoft ODBC.
Разрешения
Требуется разрешение SELECT и VIEW DEFINITION для схемы.
Замечания
sp_columns соответствует требованиям для идентификаторов с разделителями. Дополнительные сведения см. в разделе Идентификаторы баз данных.
Примеры
Следующий пример возвращает данные столбца для указанной таблицы.
USE AdventureWorks2022;
GO
EXEC sp_columns @table_name = N'Department',
@table_owner = N'HumanResources';
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
Следующий пример возвращает данные столбца для указанной таблицы.
-- Uses AdventureWorks
EXEC sp_columns @table_name = N'DimEmployee',
@table_owner = N'dbo';
См. также
sp_tables (Transact-SQL)
Хранимые процедуры каталога (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по