Updatable views SQL Server 2008
Eine Frage zu aktualisierbaren db-Ansichten: ich bin mit dem Lesen durch einige der MSDN-Dokumentation zu dem Thema, und ich komme über die folgende Einschränkung:
Alle änderungen, einschließlich UPDATE -, INSERT-und DELETE-Anweisungen, müssen auf Spalten verweisen, die nur aus einer Basistabelle.
Ich möchte nur sicher sein, verstehe ich die Einschränkung. Ich möchte die views in ein paar von meinen media-review-Projekte. Die relationalen Daten Verbreitung im ganzen Tabellen, aber ein Blick zu sein scheint, der beste Weg, um in der Lage sein, zu konsolidieren die Daten, die ich muss aus mehreren Tabellen (von denen einige verbunden über Fremdschlüssel) in eine zentrale Lage. Da die Spalten kommen aus einer Vielzahl von Tabellen, bedeutet dies, ich kann nicht laufen eine Decke LEGEN oder zu AKTUALISIEREN, um änderungen bestehen in allen Spalten?
InformationsquelleAutor Major Productions | 2010-10-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, das ist, was es bedeutet. Ich sehe keinen Vorteil für die Aktualisierung durch einen Blick, da musst du wissen, was die Basis in den beteiligten Tabellen sind sowieso.
Solange die Ansicht enthält die wichtigsten Spalten aus der zugrunde liegenden Tabelle oder sonst ermöglicht es SQL Server, die zur eindeutigen Identifizierung einer Zeile in der Tabelle, direkt zu aktualisieren, durch eine Sicht die Dinge zu vereinfachen - vor allem in Situationen, wo eine Ansicht zugeordnet ist, um eine form oder ein datagrid. Das besorgt mich ein wenig an zuerst, aber da der Benutzer muss noch die Rechte um die Tabelle zu aktualisieren wie auch immer, es gibt keine zusätzliche Sicherheit-Risiko.
Aber es wird nicht funktionieren, wenn die Felder aktualisiert werden, die von unterschiedlichen zugrunde liegenden Tabellen. Deshalb ist es nicht sinnvoll, zu aktualisieren, aus einer Sicht.
SQLRyan hat es vor Ort auf. Viele Checklisten erstellt werden, die als Teil der Arbeitsabläufe für die ad-hoc-Projekte, die nie wieder verwendet werden. Offenlegen einen Blick auf MS Access oder etwas anderes, das tut raster Bearbeiten von out of the box ist das perfekte 5-Minuten-Lösung so lange wie Sie sich erinnern, halten die meisten Spalten nicht bearbeitet werden. In Antwort auf HLGEM, die meisten dieser tickbox, workflow-übungen erfordern Kontextinformationen, die aus vielen Tabellen, sondern updates nur eine.
im Falle dass Sie verpasste den Teil, der OP wollte anble zum aktualisieren aller Spalten in einem update, das ist nicht möglich, mit einer view aus mehreren Tabellen.
InformationsquelleAutor HLGEM
Können Sie einen INSTEAD OF-trigger auf eine Ansicht, um Ihre Anwendung nur den Umgang mit der view anstelle der Sammlung von Basistabellen, die der view verweist.
Hier ist ein Beispiel : Entwerfen von INSTEAD OF-Triggern
InformationsquelleAutor Dennis Allen