Announcement

Collapse
No announcement yet.

Datenänderung in Trigger noch nicht fertig

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by Urwi View Post
    aus meiner Sicht, der zwar Oracle verwendet aber der tiefere Einblick fehlt, wäre After eben "nach" und nicht "während". Aber es ist müsig darüber zu diskutieren. So ist es eben!
    Du musst noch unterscheiden zwischen "AFTER ... FOR EACH ROW" und "AFTER ...". Beim Statement-Trigger (ohne "FOR EACH ROW") kann es keinen "Mutating Table" Fehler geben.
    Seit Oracle 11 gibt es noch die "COMPOUND TRIGGER", da kann man alles in einen einzigen Trigger rein schreiben.

    Nur zum Verständis: Das was in einem Trigger drin steht ist Bestandteil der UPDATE/INSERT/DELETE Operation! "BEFORE" und "AFTER" dient nur der logischen Steuerung.
    Man kann dies gut oder schlecht finden aber so hat es Oracle nun mal definiert. Wenn einem das nicht passt muss man halt mit Prozeduren arbeiten - ist eh' viel sinnvoller.

    Gruss
    Wernfried

    Comment


    • #32
      Hallo Wernfried,

      Wenn einem das nicht passt muss man halt mit Prozeduren arbeiten - ist eh' viel sinnvoller.
      Wie löse ich eine Prozedur nach einer Row aus? Also so, dass die Einschränkungen von AFTER .. ROW zu keinem Fehler führen?

      Man kann dies gut oder schlecht finden aber so hat es Oracle nun mal definiert
      Genau, man muss sich nur bewußt sein, dass das so ist.

      vg

      Comment


      • #33
        Originally posted by Urwi View Post
        Wie löse ich eine Prozedur nach einer Row aus? Also so, dass die Einschränkungen von AFTER .. ROW zu keinem Fehler führen?
        Ich meine damit dass du überhaupt gar keinen Trigger verwenden sollst, sondern alles in einer Prozedur abarbeitest. In der Tabelle wird dann kein direktes INSERT mehr gemacht (kann man über die Rechte steuern), man muss/kann nur die Prozedur aufrufen.

        Gruss

        Comment

        Working...
        X