Freigeben über


Regeln zum Aktualisieren von Ergebnissen (Visual Database Tools)

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 Sicht-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 zum Update der Datenbank verfügen.

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

HinweisHinweis

Der Abfrage- und Sicht-Designer kann nicht im Voraus ermitteln, ob Sie ein auf einer Sicht basierendes Resultset aktualisieren können. Daher werden alle Sichten 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 Updates 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 Sicht, 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 m:n-Beziehung vorliegt

Nein.

Abfrage auf Grundlage einer Tabelle, für die keine Updateberechtigung 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

Andere Ressourcen

Themen zur Vorgehensweise: Entwerfen von Abfragen und Sichten (Visual Database Tools)