Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Lager in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Verwenden IDENTITY Sie nur in einer SELECT Aussage mit einer INTO table Klausel, um eine Identitätsspalte zu einer neuen Tabelle hinzuzufügen. Obwohl ähnlich, ist die IDENTITY Funktion nicht dieselbe wie die IDENTITY Eigenschaft, die du mit CREATE TABLE und ALTER TABLEverwendest.
Hinweis
Um eine automatisch inkrementierende Zahl zu erstellen, die Sie in mehreren Tabellen verwenden oder von Anwendungen aufrufen können, ohne auf eine Tabelle zu verweisen, siehe Sequenznummern.
Transact-SQL-Syntaxkonventionen
Syntax
Syntax for SQL Server, Azure SQL-Datenbank, Azure SQL Managed Instance, SQL Database in Fabric:
IDENTITY ( data_type [ , seed , increment ] ) AS column_name
Syntax für das Fabric Data Warehouse:
IDENTITY ( data_type ) AS column_name
Argumente
data_type
Der Datentyp der Identitätsspalte. Gültige Datentypen für eine Identitätsspalte sind alle Datentypen in der Kategorie ganzzahliger Datentypen, mit Ausnahme des Bitdatentyps oder des dezimalen Datentyps.
Samen
Der ganzzahlige Wert, der der ersten Zeile in der Tabelle zugeordnet werden soll. Jede nachfolgende Zeile erhält den nächsten Identitätswert, der der letzte IDENTITY Wert plus der Inkrementwert ist. Wenn du keinen Seed oder Inkrementbereich angibst, wählen beide standardmäßig 1.
Zunahme
Der ganzzahlige Wert, der zum Startwert für aufeinanderfolgende Zeilen in der Tabelle hinzugefügt werden soll.
column_name
Der Name der Spalte, die in die neue Tabelle eingefügt werden soll.
Rückgabetypen
Gibt denselben Wert zurück wie data_type.
Hinweise
Da diese Funktion eine Spalte in einer Tabelle erstellt, müssen Sie einen Namen für die Spalte in der Auswahlliste auf eine der folgenden Arten angeben:
--(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;
Unterstützung in Microsoft Fabric Data Warehouse
In Fabric Data Warehouse kann man keine Werte angeben seedincrement, weil das System diese Werte automatisch verwaltet, um eindeutige ganze Zahlen bereitzustellen. Für eine Spaltendefinition in einer CREATE TABLE Aussage musst du nur verwenden BIGINT IDENTITY. Weitere Informationen finden Sie unterCREATE TABLE (Transact-SQL) IDENTITY (Property) und IDENTITY in Fabric Data Warehouse.
Beispiele
Das folgende Beispiel fügt alle Zeilen aus der Contact Tabelle der AdventureWorks2025-Datenbank in eine neue Tabelle namens NewContactein. Die IDENTITY Funktion setzt die Identifikationsnummern so ein, dass sie bei 100 statt bei 1 in der NewContact Tabelle beginnen.
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