4405: Die Sicht oder Funktion '%1!' kann nicht aktualisiert werden, da die Änderung sich auf mehrere
Fehlermeldung:
Meldung 4405, Ebene 16, Status 1, Zeile 1
Die Sicht oder Funktion '%1!' kann nicht aktualisiert werden, da die Änderung sich auf mehrere Basistabellen auswirkt.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint wenn man versucht, über einen View in mehr als eine Basistabelle Daten einzufügen.
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. Über diesen View können keine Daten eingefügt werden. Hier bietet sich eine Stored Procedure an, die die Datenmodifikation vornimmt.
Versionen:
Alle Versionen von SQL Server
Beispiele:
USE Northwind;
GO
IF OBJECT_ID('dbo.MyOrders', 'View') > 0
DROP VIEW dbo.MyOrders
GO
CREATE VIEW dbo.MyOrders
AS
SELECT od.Discount, o.ShippedDate
FROM dbo.Orders o
JOIN [Order Details] od
ON o.OrderID = od.OrderID
GO
UPDATE dbo.MyOrders
SET ShippedDate = NULL, Discount = NULL
WHERE ShippedDate IS NULL
Anmerkungen:
Im obigen Beispiel wird versucht, über den View dbo.DistinctOrders Daten in die Basistabellen Orders, und [Order Details] einzugeben. Dies löst den Fehler aus.