Die Reihenfolge der Ausführung der trigger und-Anweisungen in Oracle gespeicherten Prozedur

Unten sind meine Tabellen-Strukturen :

Table -Customer
CustomerID Blacklisted Customer Name
101 Y ABC
102 Y DEF

Table -Blacklist
CustomerID BlacklistID Customer Name
101 1011 ABC
102 1012 DEF

Table -Reason
BlacklistID ReasonID Reason Code
1012 02 Rcode2

Haupt-Tabelle "Kunden" zum speichern von Kundendaten.Es ist ein after update-trigger auf der Tabelle "Kunde" einfügen Datensatz in der Tabelle "Blacklist", wenn jemand aktualisiert die schwarze Liste als Y in der customer-Tabelle.
Wir betrachten den Kunden als die schwarze Liste gesetzt, wenn

  • Blacklist Spalte in der Tabelle "Kunde" als Wert 'Y' und.
  • Es sind Datensätze vorhanden, die für Kunden in der Blacklist und Vernunft Tabelle

Nun meine Forderung ist, auf die blacklist setzen die Kunden von back-End.Für diese Schreibe ich gespeicherte Prozedur mit den unter-Abfragen:

  1. Update Kunde set Blacklist ='Y' where customerid='102';
  2. wählen Sie BlacklistID in var_id von der blacklist, wo customerid='102';
  3. Insert into reason(BlacklistID,ReasonID,ReasonCode)values(var_-id,111,'RCODE1');

Nun einfügen, Eintrag in Grund-Tabelle(Schritt 3),muss ich BlacklistID das ist ein foreign key, und ich werde den Wert BlacklistID sobald der trigger auf der Tabelle "Kunde" bekommt exceuted.Also meine Verwirrung ist, kann ich davon ausgehen das auslösen auf Aktualisierung der 'Kunden' - Tabelle wird immer wieder excuted vor dem cntrl erreicht mein INSERT INTO reason(Schritt-3) - Anweisung. Bitte vorschlagen.

InformationsquelleAutor user2548985 | 2013-07-17

Schreibe einen Kommentar