333: Für die '%1!'-Zieltabelle der OUTPUT INTO-Klausel dürfen keine CHECK vorhanden sein.
Fehlermeldung:
Meldung 333, Ebene 16, Status 1, Zeile 7
Für die '%1!'-Zieltabelle der OUTPUT INTO-Klausel dürfen keine CHECK-Einschränkungen und keine Regeln aktiviert sein. Die CHECK-Einschränkung oder Regel '%2!' wurde gefunden.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht mit der OUTPUT INTO Klausel Zeilen in eine Tabelle einzufügen, die eine CHECK Einschränkung oder Regel aufweist.
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. Die CHECK Einschränkung(en) und/oder Regeln müssen von der Tabelle entfernt werden, damit das Statement erfolgreich ausgeführt werden kann.
Versionen:
Diese Fehlermeldung wurde mit SQL Server 2005 eingeführt.
Beispiele:
USE Northwind;
GO
CREATE TABLE #t
(
OrderID int
CONSTRAINT chk_t_orderID CHECK (OrderID > 0)
)
UPDATE TOP (10) Orders
SET OrderDate = DATEADD(DAY, 1, OrderDate)
OUTPUT INSERTED.OrderID
INTO #t;
DROP TABLE #t;
Anmerkungen:
In aller Regel sollte dies eine selten auftretender Fehler sein, dne man aber auch leicht durch eine Änderung in der Programmlogik durch die Verwendung einer Staging Tabelle zum Beispiel, umgehen kann.