Megosztás a következőn keresztül:


IDENTITY (Függvény) (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceRaktár a Microsoft Fabric-benSQL adatbázis a Microsoft Fabric-ben

IDENTITY csak egy SELECT olyan állításban használják, ahol INTO tábklusz van, hogy egy identitásoszlopot helyezzenek be egy új táblába. Bár hasonló, a IDENTITY függvény nem az IDENTITY a tulajdonság, amelyet és CREATE TABLEALTER TABLEés használunk.

Megjegyzés:

Ha olyan automatikusan növekvő számot szeretne létrehozni, amely több táblában is használható, vagy amely alkalmazásokból hívható meg anélkül, hogy bármilyen táblára hivatkozik, olvassa el a Sorszámok sorozatot.

Transact-SQL szintaxis konvenciók

Szemantika

IDENTITY (data_type [ , seed , increment ] ) AS column_name  

Érvek

data_type

Az identitásoszlop adattípusa. Az identitásoszlop érvényes adattípusai az egész szám adattípus kategóriájának bármely adattípusa, kivéve a bit adattípust vagy a decimális adattípust .

vetőmag

Az egész szám érték, amelyet a táblázat első sorához kell rendelni. Minden soron a következő identitásérték lesz hozzárendelve, amely megegyezik az utolsó IDENTITÁS értékével és a növekményes értékkel. Ha sem a mag , sem a növekmény nincs megadva, mindkettő alapértelmezés szerint 1.

növekményes

Az egész szám érték, amelyet a táblázat következő sorainak magértékéhez kell hozzáadni.

column_name

Az új táblázatba beilleszthető oszlop neve.

Visszatérési típusok

Ugyanazt adja vissza, mint data_type.

Megjegyzések

Mivel ez a függvény egy oszlopot hoz létre egy táblában, az oszlop nevét a kiválasztási listában az alábbi módok egyikével kell megadni:

--(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;  

A Fabric Data Warehouse-ban nem lehet vagy -t megadni seedincrement, mivel ezek az értékek automatikusan kezelhetők, hogy egyedi egész számokat biztosítsanak. BIGINT IDENTITY ez az egyetlen, ami egy oszlop-definícióhoz szükséges egy CREATE TABLE állításban. További információért lásd: CREATE TABLE (Transact-SQL) ) IDENTITY (Property) és IDENTITY a Fabric Data Warehouse részben.

Példák

A következő példa az AdventureWorks2025 adatbázis összes sorát Contact egy új táblázatba helyezi be, amelyet .NewContact A IDENTITY funkció az azonosító számok 100-as helyen indulására szolgál, nem pedig 1-ben a NewContact táblázatban.

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