Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Warehouse в Microsoft Fabric
SQL база данных в Microsoft Fabric
IDENTITY используется только в SELECT операторе с клаузой таблицы INTO для вставки столбца идентичности в новую таблицу. Хотя функция похожа, IDENTITY она не является свойством IDENTITY , используемым с CREATE TABLE и ALTER TABLE.
Примечание.
Сведения о том, как создать автоматически увеличивающееся числовое значение, которое может использоваться в нескольких таблицах или вызываться из приложений без ссылки на какие-либо таблицы, см. в разделе Порядковые номера.
Соглашения о синтаксисе Transact-SQL
Синтаксис
IDENTITY (data_type [ , seed , increment ] ) AS column_name
Аргументы
data_type
Тип данных столбца идентичности. Для столбца идентификаторов допустимы любые целочисленные типы данных, за исключением типов bit и decimal.
семя
Целое значение, которое нужно присваивать первой строке таблицы. Каждой последующей строке присваивается следующее значение идентификатора, равное последнему значению IDENTITY, увеличенному на значение increment. Если не указан ни аргумент seed, ни аргумент increment, то значения по умолчанию обоих равны 1.
приращение
Целое число, которое нужно добавить к началу для последовательных строк в таблице.
column_name
Название столбца, который нужно вставить в новую таблицу.
Типы возвращаемых данных
Возвращает тот же тип, что и аргумент data_type.
Замечания
Так как данная функция создает столбец в таблице, имя столбца должно быть указано в списке выбора одним из следующих способов:
--(1)
SELECT IDENTITY(int, 1,1) AS ID_Num
INTO NewTable
FROM OldTable;
--(2)
SELECT ID_Num = IDENTITY(int, 1, 1)
INTO NewTable
FROM OldTable;
В хранилище Fabric Data Warehouse нельзя указывать seed или increment, так как эти значения автоматически управляются для предоставления уникальных целых чисел.
BIGINT IDENTITY — это всё, что требуется для определения столбца в CREATE TABLE операторе. Для получения дополнительной информации см. CREATE TABLE (Transact-SQL), IDENTITY (Property) и IDENTITY в хранилище данных Fabric.
Примеры
Следующий пример вставляет все строки из Contact таблицы базы данных AdventureWorks2025 в новую таблицу под названием NewContact. Эта IDENTITY функция используется для начала идентификационных номеров с 100 вместо 1 в NewContact таблице.
USE AdventureWorks2022;
GO
IF OBJECT_ID (N'Person.NewContact', N'U') IS NOT NULL
DROP TABLE Person.NewContact;
GO
ALTER DATABASE AdventureWorks2022 SET RECOVERY BULK_LOGGED;
GO
SELECT IDENTITY(smallint, 100, 1) AS ContactNum,
FirstName AS First,
LastName AS Last
INTO Person.NewContact
FROM Person.Person;
GO
ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;
GO
SELECT ContactNum, First, Last FROM Person.NewContact;
GO