330: Das Ziel '%1!' der OUTPUT INTO-Klausel darf keine Sicht und kein allgemeiner Tabellenausdruck sein.
Fehlermeldung:
Meldung 330, Ebene 16, Status 1, Zeile 2
Das Ziel '%1!' der OUTPUT INTO-Klausel darf keine Sicht und kein allgemeiner Tabellenausdruck sein.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine OUTPUT Klausel zu verwenden, deren Ziel entweder eine Sicht oder eine Common Table Expression ist.
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. Sichten und/oder Common Table Expressions können nicht das Ziel einer OUTPUT Klausel sein.
Versionen:
Diese Fehlermeldung wurde mit SQL Server 2005 eingeführt.
Beispiele:
IF OBJECT_ID ('dbo.t') IS NOT NULL
DROP TABLE dbo.t;
IF OBJECT_ID ('dbo.vt') IS NOT NULL
DROP VIEW dbo.vt;
CREATE TABLE dbo.t
(c1 int,
s1 varchar(20));
GO
CREATE VIEW dbo.vt
AS
SELECT
*
FROM
dbo.t;
GO
INSERT INTO dbo.t
OUTPUT
inserted.c1,
inserted.s1
INTO
dbo.vt
SELECT 1, 'a'
Anmerkungen:
Im obigen Beispiel wird versucht, über die OUTPUT Klausel Daten in die Sicht dbo.vt einzufügen. Dies löst den Fehler aus.