Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Относится к:SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
Azure Synapse Analytics
Хранилище данных в Microsoft Fabric
База данных SQL в Microsoft Fabric
Используйте IDENTITY только в SELECT операторе с INTO table клаузом для добавления столбца идентичности в новую таблицу. Хотя функция похожа, IDENTITY она отличается от IDENTITY свойства, которое вы используете с CREATE TABLE и ALTER TABLE.
Примечание.
Чтобы создать автоматически увеличивающееся число, которое можно использовать в нескольких таблицах или вызывать из приложений без ссылки на таблицы, см. раздел Номера последовательностей.
Соглашения о синтаксисе Transact-SQL
Синтаксис
Синтаксис для SQL Server, Azure SQL SQL Database, Azure SQL SQL Managed Instance, SQL database in Fabric:
IDENTITY ( data_type [ , seed , increment ] ) AS column_name
Синтаксис для хранилища данных fabric:
IDENTITY ( data_type ) AS column_name
Аргументы
data_type
Тип данных столбца идентичности. Допустимые типы данных для столбца идентичности — это любые типы данных из категории целых типов данных, за исключением битового или десятичного типа данных.
семя
Целое значение для присвоения первой строке таблицы. Каждая следующая строка получает следующее значение тождества, которое является последним IDENTITYплюс приростом . Если вы не указываете seed или increment, оба по умолчанию — 1.
приращение
Целое число, которое нужно добавить к началу для последовательных строк в таблице.
column_name
Название столбца, который нужно вставить в новую таблицу.
Типы возвращаемых данных
Возвращает тот же тип, что и аргумент data_type.
Замечания
Поскольку эта функция создаёт столбец в таблице, необходимо указать имя столбца в списке select одним из следующих способов:
--(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;
Поддержка в Microsoft Fabric Data Warehouse
В Fabric Data Warehouse нельзя указывать seed значения ORincrement, потому что система автоматически управляет этими значениями, предоставляя уникальные целые числа. Для определения столбца в CREATE TABLE операторе достаточно использовать BIGINT IDENTITY. Для получения дополнительной информации см. CREATE TABLE (Transact-SQL) IDENTITY (Недвижимость) и IDENTITY в Fabric Data Warehouse.
Примеры
Следующий пример вставляет все строки из 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