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 à :✅ Entrepôt dans Microsoft Fabric
Ce tutoriel explique comment utiliser IDENTITY des colonnes dans Fabric Data Warehouse pour créer et gérer efficacement des clés de substitution.
Prerequisites
- Disposez d’un accès à un élément d’entrepôt dans un espace de travail, avec des autorisations Contributeur ou ultérieures.
- Choisissez votre outil de requête. Ce didacticiel présente l'éditeur de requête SQL dans le portail Microsoft Fabric, mais vous pouvez utiliser n'importe quel outil de requête T-SQL.
- Compréhension de base de T-SQL.
Qu’est-ce qu’une colonne IDENTITY ?
Une IDENTITY colonne est une colonne numérique qui génère automatiquement des valeurs uniques pour les nouvelles lignes. Cela permet d’implémenter des clés de substitution, car elle garantit que chaque ligne reçoit un identificateur unique sans entrée manuelle.
Créer une colonne IDENTITY
Pour définir une IDENTITY colonne, spécifiez le mot clé IDENTITY dans la définition de colonne de la CREATE TABLE syntaxe T-SQL :
CREATE TABLE { warehouse_name.schema_name.table_name | schema_name.table_name | table_name } (
[column_name] BIGINT IDENTITY,
[ ,... n ],
-- Other columns here
);
Note
Dans Fabric Data Warehouse, Bigint est le seul type de données pris en charge pour les IDENTITY colonnes. En outre, les propriétés seed et increment de T-SQL IDENTITY ne sont pas prises en charge. Pour plus d’informations, consultez les colonnes IDENTITY et IDENTITY (Transact-SQL). Pour plus d’informations sur la création de tables, consultez Créer des tables dans l’entrepôt dans Microsoft Fabric.
Créer une table avec une colonne IDENTITY
Dans ce tutoriel, nous allons créer une version plus simple de la table Trip à partir du jeu de données open NY Taxi et y ajouter une nouvelle colonne TripIDIDENTITY. Chaque fois qu’une nouvelle ligne est insérée, TripID elle est affectée à une nouvelle valeur unique dans la table.
Définissez une table avec une
IDENTITYcolonne :CREATE TABLE dbo.Trip ( TripID BIGINT IDENTITY, DateID int, MedallionID int, HackneyLicenseID int, PickupTimeID int, DropoffTimeID int );Ensuite, nous utilisons
COPY INTOpour ingérer certaines données dans cette table. Lorsque vous utilisezCOPY INTOavec uneIDENTITYcolonne, vous devez fournir la liste des colonnes, correspondant aux colonnes des données sources.COPY INTO Trip (DateID 1, MedallionID 2, HackneyLicenseID 3, PickupTimeID 4, DropoffTimeID 5) FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013' WITH ( FILE_TYPE = 'CSV', FIELDTERMINATOR = '|', COMPRESSION = 'GZIP' );Nous pouvons afficher un aperçu des données et des valeurs affectées à la
IDENTITYcolonne avec une requête simple :SELECT TOP 10 * FROM Trip;La sortie inclut la valeur générée automatiquement pour la
TripIDcolonne pour chaque ligne.Important
Vos valeurs peuvent être différentes de celles observées dans cet article.
IDENTITYles colonnes produisent des valeurs aléatoires qui sont garanties d’être uniques, mais il peut y avoir des lacunes dans les séquences, et les valeurs peuvent ne pas être dans l’ordre.Vous pouvez également utiliser
INSERT INTOpour ingérer de nouvelles lignes dans votre table.INSERT INTO dbo.Trip VALUES (20251104, 3524, 28804, 51931, 52252);La liste de colonnes peut être fournie avec
INSERT INTO, mais elle n’est pas requise. Lorsque vous fournissez une liste de colonnes, spécifiez le nom de toutes les colonnes pour lesquelles vous fournissez des données d’entrée, à l’exception de laIDENTITYcolonne :INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID) VALUES (20251104, 8410, 24939, 74609, 49583);Nous pouvons examiner les lignes insérées avec une requête simple :
SELECT * FROM dbo.Trip WHERE DateID = 20251104;
Observez les valeurs affectées aux nouvelles lignes :