Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Utilisez IDENTITY uniquement dans une SELECT instruction avec une INTO table clause pour ajouter une colonne d’identité à une nouvelle table. Bien que similaire, la IDENTITY fonction n’est pas la même que la IDENTITY propriété que vous utilisez avec CREATE TABLE et ALTER TABLE.
Notes
Pour créer un nombre à incrément automatique que vous pouvez utiliser dans plusieurs tables ou appeler depuis des applications sans référencer aucune table, voir Numéros de séquence.
Conventions de la syntaxe Transact-SQL
Syntaxe
Syntaxe pour SQL Server, Azure SQL Database, Azure SQL Managed Instance, base de données SQL dans Fabric :
IDENTITY ( data_type [ , seed , increment ] ) AS column_name
Syntaxe pour Fabric Data Warehouse :
IDENTITY ( data_type ) AS column_name
Les arguments
data_type
Le type de données de la colonne d’identité. Les types de données valides pour une colonne d’identité sont tous les types de données de la catégorie de type de données entière , à l’exception du type de données bit ou du type de données décimal .
Graines
La valeur entière à attribuer à la première ligne du tableau. Chaque ligne suivante reçoit la valeur d’identité suivante, qui est la dernière IDENTITY valeur plus la valeur d’incrément . Si vous ne spécifiez pas de seed ou d’incrémentation, les deux sont par défaut à 1.
augmentation
La valeur entière à ajouter à la valeur de départ pour les lignes successives du tableau.
column_name
Le nom de la colonne à insérer dans la nouvelle table.
Types de retour
Retourne le même type que data_type.
Remarques
Parce que cette fonction crée une colonne dans un tableau, vous devez spécifier un nom pour la colonne dans la liste de sélection de l’une des manières suivantes :
--(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;
Soutien en Microsoft Fabric Data Warehouse
Dans Fabric Data Warehouse, vous ne pouvez pas spécifier seed des valeurs de or increment car le système gère automatiquement ces valeurs pour fournir des entiers uniques. Pour une définition de colonne dans une CREATE TABLE instruction, il suffit d’utiliser BIGINT IDENTITY. Pour plus d’informations, voir CREATE TABLE (Transact-SQL) IDENTITY (Propriété) et IDENTITY dans Fabric Data Warehouse.
Exemples
L’exemple suivant insère toutes les lignes de la Contact table de la base de données AdventureWorks2025 dans une nouvelle table nommée NewContact. La IDENTITY fonction règle les numéros d’identification pour commencer à 100 au lieu de 1 dans le NewContact tableau.
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