Поделиться через


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 в базе данных База данных AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
SELECT IDENT_SEED('Person.Address') AS Identity_Seed;
GO

Б. Возврат начального значения из нескольких таблиц

В следующем примере функция возвращает таблицы базы данных База данных AdventureWorks2008R2, содержащие столбцы идентификаторов с начальным значением.

USE AdventureWorks2008R2;
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