Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Azure Synapse Analytics Analytics
Platform System (PDW)
Возвращает оптимальный набор столбцов, уникально идентифицирующих строку таблицы. Также возвращает столбцы, автоматически обновляемые, когда любое значение в строке обновляется транзакцией.
Соглашения о синтаксисе Transact-SQL
Синтаксис
Синтаксис для Системы платформы Azure Synapse Analytics и Analytics (PDW).
sp_special_columns_100
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @col_type = ] 'col_type' ]
[ , [ @scope = ] 'scope' ]
[ , [ @nullable = ] 'nullable' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Примечание.
Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.
Аргументы
[ @table_name = ] N'table_name'
Имя таблицы, используемой для возврата сведений о каталоге. @table_name — sysname без значения по умолчанию. Сопоставление шаблонов подстановочных знаков не поддерживается.
[ @table_owner = ] N'table_owner'
Владелец таблицы, используемой для возврата сведений о каталоге. @table_owner — sysname с значением по умолчаниюNULL. Сопоставление шаблонов подстановочных знаков не поддерживается. Если @table_owner не задано, применяются правила видимости таблиц по умолчанию базовой системы управления базами данных (СУБД).
В SQL Server, если текущий пользователь владеет таблицей с указанным именем, возвращаются столбцы этой таблицы. Если @table_owner не указан, а текущий пользователь не владеет таблицей указанного @table_name, эта процедура ищет таблицу указанного @table_name , принадлежащей владельцу базы данных. Если таблица существует, возвращаются ее столбцы.
[ @table_qualifier = ] N'table_qualifier'
Имя квалификатора таблицы. @table_qualifier имеет имя sysname с значением по умолчаниюNULL. Различные продукты СУБД поддерживают трехкомпонентное именование таблиц (<qualifier>.<owner>.<name>). В SQL Server этот столбец представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, в которой находится таблица.
[ @col_type = ] 'col_type'
Тип столбца. @col_type — char(1) с значением по умолчаниюR.
Тип
Rвозвращает оптимальный столбец или набор столбцов, которые путем извлечения значений из столбца или столбцов позволяют однозначно определить любую строку в указанной таблице. Столбец может быть псевдокумун, предназначенный для этой цели, или столбец или столбцы любого уникального индекса для таблицы.Тип
Vвозвращает столбец или столбцы в указанной таблице, которые автоматически обновляются источником данных, когда любое значение в строке обновляется любой транзакцией.
[ = ] @scope 'scope'
Минимальная требуемая область ROWID. @scope — char(1) с значением по умолчаниюT.
- Область
Cуказывает, что ИДЕНТИФИКАТОР ROWID действителен только при расположении в этой строке. - Область
Tуказывает, что идентификатор ROWID действителен для транзакции.
[ @nullable = ] 'nullable'
Указывает, могут ли специальные столбцы принимать NULL значение. @nullable — char(1), с значением по умолчаниюU.
Oуказывает специальные столбцы, не разрешающие значения NULL.Uуказывает столбцы, частично допускающие значение NULL.
[ @ODBCVer = ] ODBCVer
Используемая версия ODBC. @ODBCVer имеет значение int, с значением по умолчанию2. Это значение означает ODBC версии 2.0. Дополнительные сведения о разнице между ODBC версии 2.0 и ODBC версии 3.0 см. в спецификации ODBC для ODBC SQLSpecialColumns версии 3.0.
Значения кода возврата
Нет.
Результирующий набор
| Имя столбца | Тип данных | Description |
|---|---|---|
SCOPE |
smallint | Фактическая область идентификатора строки. Возможные значения: 0, 1 или 2. SQL Server всегда возвращается 0. Это поле всегда возвращает значение.0 = SQL_SCOPE_CURROW. Идентификатор строки гарантированно действителен до тех пор, пока он расположен на этой строке. В дальнейшем повторное выделение с помощью идентификатора строки может не возвращать строку, если строка была обновлена или удалена другой транзакцией.1 = SQL_SCOPE_TRANSACTION. Идентификатор строки гарантируется допустимым в течение текущей транзакции.2 = SQL_SCOPE_SESSION. Идентификатор строки гарантированно действителен на протяжении сеанса (несмотря на границы транзакций). |
COLUMN_NAME |
sysname | Имя столбца для каждого столбца возвращаемого @table_name . Это поле всегда возвращает значение. |
DATA_TYPE |
smallint | Тип данных ODBC SQL. |
TYPE_NAME |
sysname | Имя типа данных, зависящей от источника данных; например, char, varchar, money или text. |
PRECISION |
int | Точность столбца на источнике данных. Это поле всегда возвращает значение. |
LENGTH |
int | Длина в байтах, необходимая для типа данных в двоичной форме в источнике данных, например 10 для char(10), 4 целочисленного числа и 2 для smallint. |
SCALE |
smallint | Масштаб столбца в источнике данных. NULL возвращается для типов данных, для которых масштаб не применяется. |
PSEUDO_COLUMN |
smallint | Указывает, является ли столбец псевдостолбцом. SQL Server всегда возвращает:10 = SQL_PC_UNKNOWN1 = SQL_PC_NOT_PSEUDO2 = SQL_PC_PSEUDO |
Замечания
sp_special_columns эквивалентен SQLSpecialColumns в ODBC. Возвращаемые результаты упорядочены по SCOPE.
Разрешения
Требуется SELECT разрешение на схему.
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
В следующем примере возвращаются сведения о столбце, который однозначно идентифицирует строки в FactFinance таблице в AdventureWorks базе данных.
EXECUTE sp_special_columns_100 @table_name = 'FactFinance';