8108: Eine Identitätsspalte kann nicht mit der SELECT INTO-Anweisung der '%1!'-Tabelle
Fehlermeldung:
Meldung 8108, Ebene 16, Status 1, Zeile 1
Eine Identitätsspalte kann nicht mit der SELECT INTO-Anweisung der '%1!'-Tabelle hinzugefügt werden. Diese Tabelle besitzt bereits die '%2!'-Spalte, die die IDENTITY-Eigenschaft erbt.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht per SELECT INTO und der IDENTITY Funktion eine weitere Spalten mit der IDENTITY Eigenschaft zu einer Tabelle hinzuzufügen, obwohl die neue Tabelle bereits eine Spalte mit dieser Eigenschaft von der Ursprungstabelle erbt.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. Jede Tabelle kann nur eine IDENTITY Spalte besitzen.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..#t') > 0
DROP TABLE #t
GO
SELECT EmployeeID, IDENTITY(INT, 10, 1) AS i2
INTO #t
FROM Northwind.dbo.Employees
WHERE LastName LIKE 'B%'
Anmerkungen:
Im obigen Beispiel wird versucht, mit der Spalte i2 eine weitere Spalte mit der IDENTITY Eigenschaft zur Tabelle #t hinzuzufügen, obwohl diese über das SELECT eine solche Spalte aus der Tabelle Employees erbt. Dies löst den Fehler aus.