Ich habe eine Ansicht erstellt, die aus mehreren Tabellen in einer komplexen Abfrage auswählt.
- Aufgrund der Komplexität habe ich INSTEAD OF-Trigger zum Einfügen / Aktualisieren / Löschen erstellt, um diese Vorgänge in der Ansicht auszuführen.
- Ich habe auch gespeicherte Prozeduren erstellt, die die Ansicht aktualisieren.
Wenn ich das VS2010-Datenbankprojekt erstelle, enthält das SQL-Skript die CREATE-Befehle in dieser Reihenfolge: (1) die Ansicht, (2) die gespeicherten Prozeduren und dann (3) die Trigger.
Wenn ich jetzt das Bereitstellungsskript ausführe, wird folgende Fehlermeldung angezeigt:
*** SQL01268 D:\scripts\vs2010\Database.sql (28494,0).Net SqlClient Data Provider:
Msg 4405, Level 16, State 1, Procedure MyViewSave, Line 18 View or function 'MyView' is
not updatable because the modification affects multiple base tables
Wenn die Trigger vor der gespeicherten Prozedur erstellt würden, gäbe es kein Problem.
Wie kann ich sicherstellen, dass die Trigger vor den gespeicherten Prozeduren erstellt werden?
Vielen Dank!