AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TRIGGER -> Daten auf selbiger Tabelle ändern ?
Thema durchsuchen
Ansicht
Themen-Optionen

TRIGGER -> Daten auf selbiger Tabelle ändern ?

Ein Thema von HolgerCW · begonnen am 14. Aug 2007 · letzter Beitrag vom 14. Aug 2007
Antwort Antwort
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

TRIGGER -> Daten auf selbiger Tabelle ändern ?

  Alt 14. Aug 2007, 09:41
Datenbank: ORACLE • Version: 9 • Zugriff über: DATABASE
Hallo zusammen,

ich habe folgendes Problem:

Wenn ich diese Procedure:

Delphi-Quellcode:
CREATE OR REPLACE PROCEDURE NAECHSTE_PRUEFUNG (AN IN NUMBER, DB IN NUMBER) IS

my_ap_datum DATE;

...

BEGIN
 
  ...

  UPDATE SYSDBP.DBP_LEISTUNGSWERTE
  SET NAECHSTE_P = my_ap_datum, NAECHSTE_P_ART = 'Äussere Prüfung', NAECHSTE_P_DURCH = my_ap_person
  WHERE SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER = AN
  AND SYSDBP.DBP_LEISTUNGSWERTE.ANZAHL = DB;

 ...

END;
/
durch unten genannten Trigger aufrufe, kommt die Fehlermeldung:

Tabelle SYSDBP.DBP_LEISTUNGSWERTE wird gerade geändert, Trigger/Funktion sieht dies möglicherweise nicht
ORA-06512:

Delphi-Quellcode:
CREATE OR REPLACE TRIGGER DBP_NAECHSTE_PRUEFUNG_BIU BEFORE INSERT OR UPDATE ON SYSDBP.DBP_LEISTUNGSWERTE FOR EACH ROW
BEGIN
 
 NAECHSTE_PRUEFUNG (:new.ANLAGENNUMMER, :new.ANZAHL);

END;
/
Ich möchte quasi mit dem Trigger der auf der Tabelle SYSDBP.DBP_LEISTUNGSWERTE liegt, in der gleichen Tabelle Änderungen durchführen.

Oder gibt es da eine andere Lösung. Sowas soll passieren:

In Tabelle1 Spalte1 wird ein Wert geändert. Der Trigger oder was anderes soll nun in Tabelle1 Spalte2 z.B. das Ergebnis aus Spalte1 * 2 reinschrieben.

Gruss und schon mal dank für Hilfe

Holger
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#2

Re: TRIGGER -> Daten auf selbiger Tabelle ändern ?

  Alt 14. Aug 2007, 09:55
Das was du da beschreibst nennt man das "Mutating Table" Problem bei ORACLE.
Wenn du bei Google danach suchst, dann gibt es da verschiedene Ansätze um das Problem zu umgehen.

Beispielhaft hab ich dir zwei davon mal rausgesucht:

Mutating Table #1
Mutating Table #2
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: TRIGGER -> Daten auf selbiger Tabelle ändern ?

  Alt 14. Aug 2007, 11:44
Vielen dank für die Links,

habe das jetzt umgebaut, so dass es klappt

Gruss

Holger
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz