Regeln zum Aktualisieren von Ergebnissen
Aktualisiert: November 2007
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.
Hinweis: |
---|
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