IDENT_INCR (Transact-SQL)
Возвращает добавочное значение (тип numeric (**@@**MAXPRECISION,0)), указанное во время создания столбца с уникальным идентификатором в таблице или представлении, которые содержат столбец идентификаторов.
Синтаксические обозначения в Transact-SQL
Синтаксис
IDENT_INCR ( 'table_or_view' )
Аргументы
- ' table_or_view '
Выражение, указывающее таблицу или представление для проверки на наличие допустимого значения шага приращения идентификатора. Аргумент table_or_view может быть строковой константой, заключенной в кавычки, переменной, функцией или именем столбца. Аргумент table_or_view имеет тип char, nchar, varchar или nvarchar.
Типы возвращаемых данных
numeric
Исключения
Возвращает значение NULL в случае ошибки или если участник не имеет разрешений для просмотра объекта.
В SQL Server пользователь может просматривать только метаданные защищаемых объектов, которыми он владеет или на которые ему были предоставлены разрешения. Это означает, что встроенные функции, создающие метаданные, такие как IDENT_INCR, могут вернуть значение NULL в случае, если пользователь не имеет разрешений на объект. Дополнительные сведения см. в разделе Настройка видимости метаданных.
Примеры
А.Возврат значения приращения для указанной таблицы
Следующий пример возвращает значение приращения для таблицы Person.Address в базе данных AdventureWorks.
USE AdventureWorks2012;
GO
SELECT IDENT_INCR('Person.Address') AS Identity_Increment;
GO
USE AdventureWorks2012;
GO
SELECT IDENT_INCR('Person.Address') AS Identity_Increment;
GO
Б.Возврат значения приращения из нескольких таблиц
В следующем примере функция возвращает таблицы базы данных AdventureWorks, содержащие столбцы идентификаторов с увеличивающимся значением.
USE AdventureWorks2012;
GO
SELECT TABLE_SCHEMA, TABLE_NAME,
IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_INCR
FROM INFORMATION_SCHEMA.TABLES
WHERE IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;
USE AdventureWorks2012;
GO
SELECT TABLE_SCHEMA, TABLE_NAME,
IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_INCR
FROM INFORMATION_SCHEMA.TABLES
WHERE IDENT_INCR(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;
Здесь приводится частичный результирующий набор.
TABLE_SCHEMA TABLE_NAME IDENT_INCR
------------ ------------------------ ----------
Person Address 1
Production ProductReview 1
Production TransactionHistory 1
Person AddressType 1
Production ProductSubcategory 1
Person vAdditionalContactInfo 1
dbo AWBuildVersion 1
Production BillOfMaterials 1
См. также
Справочник
Системные функции (Transact-SQL)