Thema: Delphi Insert oder Update ?

Einzelnen Beitrag anzeigen

Alfons_G

Registriert seit: 7. Jun 2002
Ort: München
296 Beiträge
 
Delphi 2007 Architect
 
#8

Re: Insert oder Update ?

  Alt 1. Nov 2003, 17:13
Ob man einen View updaten kann, hängt zum Einen von der Art des Views ab, zum Anderen von der Datenbank.
Viele Systeme erlauben Update- und Insert-Operationen nur auf Views, welche nur auf einer einzelnen Tabelle basieren. Bei Access kannst Du auch in Views schreiben, welche aus mehreren Tabellen zusammengesetzt sind. Bedingung ist dabei natürlich, dass sich die Felder eindeutig zuordnen lassen. Das heisst, bei einer 1:n-Verknüpfung kannst Du nur Updates auf die Felder der Tabelle durchführen, welche eindeutig sind. Access prüft das allerdings nicht so streng, so dass man unter Umständen böse Überraschungen erleben kann
Bei Oracle sind NUR VIews editierbar, deren Daten aus lediglich einer Tabelle entstammen. So vermeidet die Datenbank Performance-schluckende Überprüfungen, ob die Daten gefahrlos geändert werden können.

In dem Borland-Zitat steht auch ausdrücklich drin, dass die eigentliche Insert/Update-Operation durch einen Trigger erledigt werden soll. Vermutlich bezieht sich die Erklärung auf Interbase. Das geht aber mit jeder DB, welche Trigger beherrscht. Bei Access usw. muß man den Trigger "zu Fuß" mit einer Ereignisprozedur in Delphi nachbilden. In beiden Fällen wird dann die Schreiboperation nicht auf den View, sondern auf die zugrundeliegende Tabelle ausgeführt.

Alfons Grünewald



Alfons Grünewald
  Mit Zitat antworten Zitat