330: Das Ziel '%1!' der OUTPUT INTO-Klausel darf keine Sicht sein.

By Frank Kalis

Posted on Mär 5, 2015 von in 0 - 999

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.

Dieser Eintrag wurde eingetragen von und ist abgelegt unter 0 - 999.

Noch kein Feedback


Formular wird geladen...