Ich habe versucht, zu verstehen, was mit der folgenden Ansicht falsch ist, und leider konnte ich meine Antwort nirgendwo finden, außer dass ich Auslöser verwendete, die ich gerne vermeiden würde. Angesichts der folgenden Ansicht, wenn ich versuche, in es einzufügen, bekomme ich den Fehler oben, aber wenn ich den inneren Beitritt zu der Firma Tabelle entfernen, scheint alles gut zu funktionieren:
%Vor%Hier ist meine Einfügung, ich füge nur in [CheckUser] oder [CheckCompany] ein:
%Vor%CheckToTypeID ist meine Check-Einschränkung, gibt es eine Möglichkeit, diese Ansicht mit inneren Joins arbeiten zu lassen? Wenn ich die inneren Verbindungen wieder entferne, kann ich sie wieder zum Laufen bringen, aber ich möchte sie wenn möglich behalten.
Ich benutze SQL Server 2012, jede Hilfe wird geschätzt.
Danke, Paul
Das ist ein bisschen lang für einen Kommentar.
Ich kann die 2012-Dokumentation zu diesem Thema nicht finden, aber die SQL Server 2008 Dokumentation ist ziemlich klar:
Eine Ansicht wird als aktualisierbare partitionierte Sicht angesehen, wenn die Sicht a ist Menge von SELECT-Anweisungen, deren einzelne Ergebnismengen kombiniert werden in eine mit der UNION ALL-Anweisung. Jede SELECT-Anweisung Verweist auf eine SQL Server-Basistabelle.
Sie haben zwei Tabellen in der from
-Klausel, daher ist sie nicht aktualisierbar. Es ist eine schreibgeschützte Ansicht. Mir ist nicht bewusst, dass dies 2012 geändert wurde.
Sie können dies umgehen, indem Sie einen "anstelle von" Trigger
Tags und Links sql sql-server-2012