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