Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Raktár a Microsoft Fabric-ben
SQL adatbázis a Microsoft Fabric-ben
IDENTITY Csak SELECT egy mondatban, ahol egy INTO table klauzulával együtt használd, hogy egy identitásoszlopot adj hozzá egy új táblához. Bár hasonlóak, a IDENTITY függvény nem ugyanaz, mint az IDENTITY a tulajdonság, amit és CREATE TABLEALTER TABLEhasználsz.
Megjegyzés:
Ha automatikusan növelhető számot szeretnél létrehozni, amelyet több táblában is használhatsz vagy alkalmazásokból hívhatsz anélkül, hogy táblázatra hivatkoznál, lásd: Sorszámok.
Transact-SQL szintaxis konvenciók
Szemantika
Syntax for SQL Server, Azure SQL Database, Azure SQL Managed Instance, SQL database in Fabric:
IDENTITY ( data_type [ , seed , increment ] ) AS column_name
Szintaxis a Fabric Data Warehouse számára:
IDENTITY ( data_type ) AS column_name
Érvek
data_type
Az identitásoszlop adattípusa. Az identitásoszlop érvényes adattípusai bármely adattípus az egész szám adattípus kategóriájában, kivéve a bitadattípust vagy a tizedes adattípust.
vetőmag
Az egész szám értéket, amelyet a táblázat első sorának kell hozzárendelni. Minden következő sor megkapja a következő identitásértéket, amely az utolsó IDENTITY érték plusz az inkrementérték . Ha nem jelöled meg a seedet vagy az incrementet, mindkettő alapértelmezetten 1-re van.
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 oszlop neve, amit az új táblázatba kell beilleszteni.
Visszatérési típusok
Ugyanazt adja vissza, mint data_type.
Megjegyzések
Mivel ez a függvény oszlopot hoz létre egy táblában, az alábbi módok egyikén kell megadni a kiválasztó listában az oszlop nevét:
--(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;
Támogatás Microsoft Fabric Data Warehouse
Fabric Data Warehouse-ben nem lehet megadni seed vagy increment értékeket, mert a rendszer automatikusan kezeli ezeket az értékeket, hogy egyedi egész számokat biztosítson. Egy oszlopdefinícióhoz CREATE TABLE egy állításban csak a használd BIGINT IDENTITY. További információért lásd CREATE TABLE (Transact-SQL) IDENTITY (Tulajdonság) és IDENTITY Fabric Data Warehouse.
Példák
A következő példa az AdventureWorks2025 adatbázis összes Contact sorát egy új táblába helyezi be, amelynek neve NewContact. A IDENTITY függvény az azonosító számokat úgy állítja be, hogy a táblázatban 100-ról induljon, nem pedig 1 NewContact .
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