IDENTITY (Funktion) (Transact-SQL)IDENTITY (Function) (Transact-SQL)

Anwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions) Anwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions)

Wird nur in einer SELECT-Anweisung mit einer INTO table-Klausel verwendet, um eine Identitätsspalte in eine neue Tabelle einzufügen.Is used only in a SELECT statement with an INTO table clause to insert an identity column into a new table. Die IDENTITY-Funktion ähnelt der mit CREATE TABLE und ALTER TABLE verwendeten IDENTITY-Eigenschaft, ist jedoch nicht mit ihr identisch.Although similar, the IDENTITY function is not the IDENTITY property that is used with CREATE TABLE and ALTER TABLE.

Hinweis

Weitere Informationen zu einer automatisch inkrementierten Zahl, die in mehreren Tabellen verwendet oder aus Anwendungen aufgerufen werden kann, ohne dass auf eine Tabelle verwiesen wird, finden Sie unter Sequenznummern.To create an automatically incrementing number that can be used in multiple tables or that can be called from applications without referencing any table, see Sequence Numbers.

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

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

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumenteArguments

data_typedata_type
Der Datentyp der Identitätsspalte.Is the data type of the identity column. Gültige Datentypen für eine Identitätsspalte sind beliebige Datentypen aus der Integerdatentypkategorie (mit Ausnahme des bit-Datentyps) oder der decimal-Datentyp.Valid data types for an identity column are any data types of the integer data type category, except for the bit data type, or decimal data type.

seedseed
Der ganzzahlige Wert, der der ersten Zeile in der Tabelle zugewiesen werden soll.Is the integer value to be assigned to the first row in the table. Jeder nachfolgenden Zeile wird jeweils der nächste Identitätswert zugewiesen, der sich aus dem letzten IDENTITY-Wert plus dem increment-Wert ergibt.Each subsequent row is assigned the next identity value, which is equal to the last IDENTITY value plus the increment value. Ist weder der Ausgangswert (seed) noch der inkrementelle Wert (increment) angegeben, gilt für beide der Standardwert 1.If neither seed nor increment is specified, both default to 1.

incrementincrement
Der ganzzahlige Wert, der dem seed-Wert für nachfolgende Zeilen in der Tabelle hinzugefügt werden soll.Is the integer value to add to the seed value for successive rows in the table.

column_namecolumn_name
Der Name der Spalte, die in die neue Tabelle eingefügt werden soll.Is the name of the column that is to be inserted into the new table.

RückgabetypenReturn Types

Gibt denselben Wert zurück wie data_type.Returns the same as data_type.

BemerkungenRemarks

Da diese Funktion eine Spalte in einer Tabelle erstellt, muss für die Spalte ein Name in der Auswahlliste angegeben werden. Dies kann auf zwei Arten geschehen:Because this function creates a column in a table, a name for the column must be specified in the select list in one of the following ways:

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

BeispieleExamples

Im folgenden Beispiel werden alle Zeilen aus der Contact-Tabelle der AdventureWorks2012AdventureWorks2012-Datenbank in eine neue Tabelle namens NewContact eingefügt.The following example inserts all rows from the Contact table from the AdventureWorks2012AdventureWorks2012database into a new table called NewContact. Die IDENTITY-Funktion bewirkt, dass die Identifikationsnummern in der NewContact-Tabelle bei 100 anstatt bei 1 beginnen.The IDENTITY function is used to start identification numbers at 100 instead of 1 in the NewContact table.

USE AdventureWorks2012;  
GO  
IF OBJECT_ID (N'Person.NewContact', N'U') IS NOT NULL  
    DROP TABLE Person.NewContact;  
GO  
ALTER DATABASE AdventureWorks2012 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 AdventureWorks2012 SET RECOVERY FULL;  
GO  
SELECT ContactNum, First, Last FROM Person.NewContact;  
GO  
  

Weitere InformationenSee Also

CREATE TABLE (Transact-SQL) CREATE TABLE (Transact-SQL)
@@IDENTITY (Transact-SQL) @@IDENTITY (Transact-SQL)
IDENTITY (Eigenschaft) (Transact-SQL) IDENTITY (Property) (Transact-SQL)
SELECT @local_variable (Transact-SQL) SELECT @local_variable (Transact-SQL)
DBCC CHECKIDENT (Transact-SQL) DBCC CHECKIDENT (Transact-SQL)
sys.identity_columns (Transact-SQL)sys.identity_columns (Transact-SQL)