Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Gjelder for:✅ Lager i Microsoft Fabric
Denne veiledningen forklarer hvordan man bruker IDENTITY kolonner i Fabric Data Warehouse for å lage og administrere surrogatnøkler effektivt.
Forutsetning
- Ha tilgang til et lagerobjekt i et arbeidsområde, med Bidragsyter- eller høyere tillatelser.
- Velg spørringsverktøyet. Denne opplæringen inneholder redigeringsprogrammet for SQL-spørring i Microsoft Fabric-portalen, men du kan bruke et hvilket som helst T-SQL-spørringsverktøy.
- Bruk redigeringsprogrammet for SQL-spørring i Microsoft Fabric-portalen.
- Grunnleggende forståelse av T-SQL.
Hva er en IDENTITET-kolonne?
En kolonne er en numerisk kolonne som automatisk genererer IDENTITY unike verdier for nye rader. Dette gjør det ideelt for å implementere surrogatnøkler, da det sikrer at hver rad får en unik identifikator uten manuell inntasting.
Opprett en IDENTITY-kolonne
For å definere en IDENTITY kolonne, spesifiser nøkkelordet IDENTITY i kolonnedefinisjonen til CREATE TABLE T-SQL-syntaksen:
CREATE TABLE { warehouse_name.schema_name.table_name | schema_name.table_name | table_name } (
[column_name] BIGINT IDENTITY,
[ ,... n ],
-- Other columns here
);
Note
I Fabric Data Warehouse er bigint den eneste støttede datatypen for IDENTITY kolonner. I tillegg seed støttes ikke egenskapene til increment T-SQL IDENTITY . For mer informasjon, se IDENTITY-kolonnene og IDENTITY (Transact-SQL). For mer informasjon om å lage tabeller, se Lag tabeller i Warehouse i Microsoft Fabric.
Opprett en tabell med en IDENTITET-kolonne
I denne veiledningen lager vi en enklere versjon av Trip tabellen fra NY Taxi open dataset, og legger til en ny TripIDIDENTITY kolonne i den. Hver gang en ny rad legges inn, TripID tildeles en ny verdi som er unik i tabellen.
Definer en tabell med en
IDENTITYkolonne:CREATE TABLE dbo.Trip ( TripID BIGINT IDENTITY, DateID int, MedallionID int, HackneyLicenseID int, PickupTimeID int, DropoffTimeID int );Deretter bruker
COPY INTOvi det til å legge inn noen data i denne tabellen. Når du brukerCOPY INTOkolonnerIDENTITYmå du oppgi kolonnelisten, som kartlegges til kolonnene i kildedataene.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' );Vi kan forhåndsvise dataene og verdiene som er tildelt kolonnen
IDENTITYmed en enkel spørring:SELECT TOP 10 * FROM Trip;Utdataene inkluderer den automatisk genererte verdien for kolonnen
TripIDfor hver rad.Viktig!
Verdiene dine kan være annerledes enn de som er observert i denne artikkelen.
IDENTITYKolonner produserer tilfeldige verdier som garantert er unike, men det kan være hull i sekvensene, og verdier kan være unøyaktige.Du kan også bruke
INSERT INTOdem til å legge inn nye rader i tabellen din.INSERT INTO dbo.Trip VALUES (20251104, 3524, 28804, 51931, 52252);Kolonnelisten kan leveres med
INSERT INTO, men den er ikke påkrevd. Når du lager en kolonneliste, spesifiser navnet på alle kolonnene du gir inputdata for, bortsett fra kolonnenIDENTITY:INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID) VALUES (20251104, 8410, 24939, 74609, 49583);Vi kan gjennomgå radene som er satt inn med en enkel forespørsel:
SELECT * FROM dbo.Trip WHERE DateID = 20251104;
Observer verdiene som er tildelt de nye radene: