330: Das Ziel '%1!' der OUTPUT INTO-Klausel darf keine Sicht sein.
Fehlermeldung:
Meldung 330, Ebene 16, Status 1, Zeile 6
Das Ziel '%1!' der OUTPUT INTO-Klausel darf keine Sicht und kein allgemeiner Tabellenausdruck sein.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht mit der OUTPUT INTO Klausel Zeilen in eine Common Table Expression einzufügen.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 15 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. Eine CTE kann nicht das Ziel einer OUTPUT INTO Klausel sein.
Versionen:
Diese Fehlermeldung wurde mit SQL Server 2005 eingeführt.
Beispiele:
USE Northwind;
GO
DECLARE @t table
(
OrderID int
);
;WITH myCte (OrderID)
AS (SELECT OrderID
FROM @t)
UPDATE TOP (10) Orders
SET OrderDate = DATEADD(DAY, 1, OrderDate)
OUTPUT INSERTED.OrderID
INTO myCte;
SELECT *
FROM @t;
Anmerkungen:
Als Alternativen zu einer CTE bieten sich Tabellenvariablen, Temporäre Tabellen oder Basis-Tabellen an.