Announcement

Collapse
No announcement yet.

Was ist falsch an diesem Trigger?

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

  • Was ist falsch an diesem Trigger?

    Hallo zusammen!

    Nur ne ganz kurze Frage. Könnt Ihr mir sagen was an diesem Triggerbeispiel falsch ist?
    Code:
    CREATE OR REPLACE TRIGGER TRIG_DELETE_TEST
        BEFORE DELETE
             ON T1
             FOR EACH ROW
         BEGIN
             -- Delete records from table "T2"
             DELETE FROM T2
              WHERE T2.X = T1.X
         END TRIG_DELETE_TEST;
    Ich erhalte beim Löschen in Table T1 die folgende Fehlermeldung:

    ORA-04098: Trigger 'N2000.TRIG_DELETE_TEST' ist ungültig und konnte nicht neu bestätigt werden

    Wäre Euch für einen Tipp sehr dankbar, da ich den Fehler einfach nicht sehe!

    Es soll einfach nur ein Datensatz aus T2 gelöscht werden wenn ein über x verknüpfter Datensatz in T1 gelöscht wird.

    Gruss und danke,

    FreezerSE

  • #2
    Ein Semikolom fehlt in jedem Fall:
    Code:
    DELETE FROM T2
              WHERE T2.X = T1.X;

    Comment


    • #3
      Es soll einfach nur ein Datensatz aus T2 gelöscht werden wenn ein über x verknüpfter Datensatz in T1 gelöscht wird.
      Du Löscht aber jetzt alle Datensätze aus T2 die auch in T1 sind. ich denke was Du möchtest ist folgendes:
      Code:
      DELETE FROM T2
                WHERE T2.X = :OLD.X;
      Dim
      Zitat Tom Kyte:
      I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

      Comment

      Working...
      X