Freigeben über


Regeln zum Aktualisieren von Ergebnissen (Visuelle Datenbanktools)

Gilt für:SQL Server-

In vielen Fällen können Sie das Resultset aktualisieren, das im Ergebnisbereichangezeigt wird. In einigen Fällen ist es jedoch nicht möglich.

Generell muss der Abfrage- und Ansichts-Designer ausreichend Informationen enthalten, um die Zeile in der Tabelle eindeutig zu identifizieren. Ein Beispiel ist, wenn die Abfrage einen Primärschlüssel in der Ausgabeliste enthält. Darüber hinaus müssen Sie über ausreichende Berechtigungen zum Aktualisieren der Datenbank verfügen.

Wenn Ihre Abfrage auf einer Ansicht basiert, können Sie sie möglicherweise aktualisieren. Die gleichen Richtlinien gelten, mit der Ausnahme, dass sie für die zugrunde liegenden Tabellen in der Ansicht gelten, nicht nur für die Ansicht selbst.

Anmerkung

Der Abfrage- und Ansichts-Designer kann im Voraus nicht ermitteln, ob Sie eine Ergebnismenge basierend auf einer Ansicht ändern können. Daher werden alle Ansichten angezeigt, auch wenn Sie sie möglicherweise nicht aktualisieren können.

In der folgenden Tabelle sind bestimmte Instanzen zusammengefasst, in denen Sie möglicherweise Abfrageergebnisse im Ergebnisbereich nicht aktualisieren können. In vielen Fällen bestimmt die datenbank, die Sie verwenden, ob Sie Abfrageergebnisse aktualisieren können.

Anfrage Können Ergebnisse aktualisiert werden?
Abfrage basierend auf einer Tabelle mit Primärschlüssel in der Ausgabeliste Ja (außer wie unten aufgeführt).
Abfrage basierend auf einer Tabelle ohne eindeutigen Index und ohne Primärschlüssel Hängt von Abfrage und Datenbank ab. Einige Datenbanken ermöglichen Updates, wenn ausreichende Informationen verfügbar sind, um Datensätze eindeutig zu identifizieren.
Abfrage basierend auf mehreren Tabellen, die nicht verknüpft sind Nein.
Abfrage basierend auf Daten, die in der Datenbank als schreibgeschützt gekennzeichnet sind Nein.
Abfrage basierend auf einer Ansicht, die eine Tabelle ohne Einschränkungen umfasst Ja (außer wie unten aufgeführt).
Abfrage basierend auf Tabellen, die mit einer 1:1-Beziehung verknüpft sind Ja (außer wie unten aufgeführt).
Abfrage basierend auf Tabellen, die mit einer 1:n-Beziehung verknüpft sind Gewöhnlich.
Abfrage basierend auf drei oder mehr Tabellen, bei der eine Viele-zu-Viele-Beziehung vorhanden ist. Nein.
Abfrage basierend auf einer Tabelle, für die keine Aktualisierungsberechtigung gewährt wird Kann löschen, aber nicht aktualisieren.
Abfrage basierend auf einer Tabelle, für die keine Löschberechtigung erteilt wird Kann aktualisiert, aber nicht gelöscht werden.
Aggregatabfrage Nein.
Abfrage basierend auf einer Unterabfrage, die Summen oder Aggregatfunktionen enthält Nein.
Abfrage, die das DISTINCT-Schlüsselwort enthält, um doppelte Zeilen auszuschließen Nein.
Abfrage, deren FROM-Klausel eine benutzerdefinierte Funktion enthält, die eine Tabelle zurückgibt und die benutzerdefinierte Funktion mehrere Auswahlanweisungen enthält Nein.
Abfrage, deren FROM-Klausel eine inline benutzerdefinierte Funktion enthält Ja.

Darüber hinaus können Sie möglicherweise keine bestimmten Spalten in den Abfrageergebnissen aktualisieren. In der folgenden Liste werden bestimmte Spaltentypen zusammengefasst, die im Ergebnisbereich nicht aktualisiert werden können.

  • Spalten basierend auf Ausdrücken

  • Spalten basierend auf skalaren benutzerdefinierten Funktionen

  • Zeilen oder Spalten, die von einem anderen Benutzer gelöscht wurden

  • Zeilen oder Spalten, die von einem anderen Benutzer gesperrt sind (gesperrte Zeilen können in der Regel aktualisiert werden, sobald sie entsperrt sind)

  • Zeitstempel- oder BLOB-Spalten

Siehe auch

Themen zur Gestaltung von Abfragen und Ansichten (Visuelle Datenbanktools)