Freigeben über


Regeln zum Aktualisieren von Ergebnissen

In vielen Fällen können Sie das im Ergebnisbereich angezeigte Resultset aktualisieren. Manchmal ist dies allerdings nicht möglich.

Damit Ergebnisse aktualisiert werden können, muss der Abfrage- und Ansicht-Designer über genügend Informationen verfügen, um die Zeile in der Tabelle eindeutig identifizieren zu können. Ein Beispiel ist der Fall, dass die Abfrage einen Primärschlüssel in die Ausgabeliste einfügt. Außerdem müssen Sie über eine ausreichende Berechtigung zur Aktualisierung der Datenbank verfügen.

Wenn die Abfrage auf einer Ansicht basiert, kann sie aktualisiert werden. Dieselben Richtlinien werden angewendet, allerdings nicht nur auf die Ansicht selbst, sondern auf die zugrunde liegenden Tabellen in der Ansicht.

Tipp

Der Abfrage- und Ansicht-Designer kann nicht im Voraus ermitteln, ob Sie einen auf einer Ansicht basierenden Resultset aktualisieren können. Daher werden alle Ansichten angezeigt, obwohl Sie diese möglicherweise nicht aktualisieren können.

Die folgende Tabelle gibt eine Übersicht über die einzelnen Fälle, in denen Sie Abfrageergebnisse im Ergebnisbereich aktualisieren bzw. nicht aktualisieren können. Häufig wird durch die verwendete Datenbank bestimmt, ob die Ergebnisse einer Abfrage aktualisiert werden können.

Abfrage

Können die Ergebnisse aktualisiert werden?

Abfrage auf Grundlage einer Tabelle mit Primärschlüssel in der Ausgabeliste

Ja (außer wie im Folgenden aufgeführt).

Abfrage auf Grundlage einer Tabelle ohne eindeutigen Index und Primärschlüssel

Hängt von der Abfrage und der Datenbank ab. Einige Datenbanken lassen Aktualisierungen zu, wenn genügend Informationen zur eindeutigen Identifizierung von Datensätzen verfügbar sind.

Abfrage auf Grundlage mehrerer Tabellen, die nicht verknüpft sind

Nein.

Abfrage auf Grundlage von als schreibgeschützt markierten Daten der Datenbank

Nein.

Abfrage auf Grundlage einer Ansicht, die eine Tabelle ohne Einschränkungen umfasst

Ja (außer wie im Folgenden aufgeführt).

Abfrage auf Grundlage von Tabellen, die über eine 1:1-Beziehung verknüpft sind

Ja (außer wie im Folgenden aufgeführt).

Abfrage auf Grundlage von Tabellen, die über eine 1:n-Beziehung verknüpft sind

Meistens.

Abfrage auf Grundlage von drei oder mehr Tabellen, bei denen eine n:n-Beziehung vorliegt

Nein.

Abfrage auf Grundlage einer Tabelle, für die keine Aktualisierungsberechtigung vorliegt

Kann gelöscht, aber nicht aktualisiert werden.

Abfrage auf Grundlage einer Tabelle, für die keine Löschberechtigung vorliegt

Kann aktualisiert, aber nicht gelöscht werden.

Aggregatabfrage

Nein.

Abfrage auf Grundlage einer Unterabfrage, die Summen oder Aggregatfunktionen enthält

Nein.

Abfrage, die das Schlüsselwort DISTINCT zum Ausschließen von doppelten Zeilen enthält

Nein.

Abfrage, deren FROM-Klausel eine benutzerdefinierte Funktion enthält, die eine Tabelle zurückgibt, wobei diese Funktion mehrere Select-Anweisungen enthält

Nein.

Abfrage, deren FROM-Klausel eine benutzerdefinierte Inlinefunktion enthält

Ja.

Außerdem können Sie möglicherweise bestimmte Spalten in den Abfrageergebnissen nicht aktualisieren. Im Folgenden sind bestimmte Spaltentypen aufgeführt, die Sie im Ergebnisbereich nicht aktualisieren können.

  • Spalten, die auf Ausdrücken basieren

  • Spalten, die auf benutzerdefinierten Skalarfunktionen basieren

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

  • Zeilen oder Spalten, die von einem anderen Benutzer gesperrt wurden (gesperrte Zeilen können i. d. R. unmittelbar nach Aufhebung der Sperre aktualisiert werden)

  • Timestamp- oder BLOB-Spalten

Siehe auch

Konzepte

Verwendungsmöglichkeiten von Visual Database Tools

Weitere Ressourcen

Entwerfen von Abfragen und Ansichten

Referenz (Visual Database Tools)