tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
579
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    klaussp klaussp ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    13
    Hallo Zusammen,

    ich habe folgende Aufgabenstellung bekommen, aber leider gehen mir die Ideen aus wie man das lösen könnte:

    "Der Durchschnittspreis für ”Mac650“ muss über dem für ”PC486“ liegen. Schreiben Sie nur eine Überwachung für das Löschen von Tupeln aus der Angebotstabelle."
    Mein letzter Ansatz ist, hat aber unten stehendes Problem:
    Code :
    1
    2
    3
    4
    5
    
    CREATE TRIGGER MACPC_DELETE BEFORE DELETE ON Angebot 
    REFERENCING OLD AS o 
    FOR EACH ROW MODE DB2SQL 
    WHEN ((o.Warenbezeichnung='Mac650' AND (SELECT AVG(SELECT Preis from Angebot WHERE Warenbezeichnung='Mac650') < (SELECT AVG(Preis) from Angebot a WHERE Warenbezeichnung='PC486')))
    SIGNAL SQLSTATE '75002' ('Achtung bla bla');

    Problem:
    Wie finde ich den neuen durchschnittlichen Preis von Mac650 raus? Bei einem DELETE Trigger kann man ja nur auf die Menge OLD referenzieren, nicht auf NEW. Somit weis ich doch nicht wie die neue Menge, geschweige der Durchschnittspreis danach aussieht?!

    Hat jemand eine Idee wie das noch funktionieren könnte?

    Grüße, Klaus
     

  2. #2
    klaussp klaussp ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    13
    Hab nochma drüber nachgedacht, kann eigentlich nur so sein das man solange löschen darf, wie der AVG(Mac...)>AVG(PC...) ist. Sobald das unterschritten ist, kann fortan nicht mehr gelöscht werden, es ist aber möglich das der AVG(Mac...) den anderen unterschreitet!
     

  3. #3
    klaussp klaussp ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    13
    Es ist doch notwendig zu prüfen wie der Durchschnitt nach dem Löschen eines Tupels aussehen würde! Das löschen soll in dem Fall also verhindert werden...

    Hat jemand eine Idee wie das funktionieren könnte?

    Wie kommt man den bitteschön in diesem Fall an das zu löschende Tupel? Geht das irgendwie?

    Grüße, Klaus
     

Ähnliche Themen

  1. Sqllite trigger Problem
    Von mike4004 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 02.09.10, 17:11
  2. Problem mit MySQL Trigger
    Von VanHellsehn im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 11.03.09, 14:43
  3. Hilfeeee!Trigger Problem
    Von zyth im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 22.11.06, 09:49
  4. Trigger sperrt DELETE in Tabelle?
    Von Milosz im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 27.05.04, 12:21
  5. in trigger oder prozedur delete anweisung
    Von Schrumpel im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 04.10.03, 14:25