Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
IDENTITY est utilisé uniquement dans une SELECT instruction avec une clause de table INTO pour insérer une colonne d’identité dans une nouvelle table. Bien que similaire, la IDENTITY fonction n’est pas la IDENTITY propriété utilisée avec CREATE TABLE et ALTER TABLE.
Notes
Pour créer un numéro à incrémentation automatique qui peut être utilisé dans plusieurs tables ou être appelé par des applications sans faire référence à une table, consultez Numéros de séquence.
Conventions de la syntaxe Transact-SQL
Syntaxe
IDENTITY (data_type [ , seed , increment ] ) AS column_name
Les arguments
data_type
Le type de données de la colonne d’identité. Tous les types de données de la catégorie de type entier sont valides pour une colonne d’identité, à l’exception des types de données bit et decimal.
Graines
La valeur entière à attribuer à la première ligne du tableau. La valeur d’identité suivante est affectée à chaque ligne suivante. Cette valeur est égale à la dernière valeur IDENTITY augmentée de la valeur increment. Si vous ne spécifiez ni seed ni increment, les deux arguments reçoivent par défaut la valeur 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 qui doit être insérée dans la nouvelle table.
Types de retour
Retourne le même type que data_type.
Remarques
Étant donné que cette fonction crée une colonne dans une table, vous devez spécifier pour la colonne un nom figurant 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;
Dans Fabric Data Warehouse, vous ne pouvez pas spécifier seed ni increment, car ces valeurs sont automatiquement gérées pour fournir des entiers uniques.
BIGINT IDENTITY est tout ce qui est requis pour une définition de colonne dans une CREATE TABLE instruction. Pour plus d’informations, voir CREATE TABLE (Transact-SQL), IDENTITY (Property) 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 appelée NewContact. La IDENTITY fonction sert à commencer les numéros d’identification à 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