Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Daten in Tabelle korrigieren

  Alt 23. Jan 2013, 12:51
Ja, du kannst die betroffenen Datensätze in eine temp. Tabelle schreiben und dann in deinem UPDATE Statement benutzen.
Code:
CREATE TEMPORARY TABLE tmpTab

SELECT AuftragNr, Arbeitsgang
  FROM Tabelle A
 WHERE Rueckmeldung IS NULL
   AND Arbeitsgang <
       ( SELECT Max( Arbeitsgang )
           FROM Tabelle
          WHERE AuftragNr = A.AuftragNr
            AND Rueckmeldung = 'Fertig' );
   
UPDATE Tabelle
   SET Rueckmeldung = 'Fertig'
 WHERE ( AuftragNr, Arbeitsgang ) IN ( SELECT AuftragNr, Arbeitsgang
                                         FROM tmpTab );

DROP TABLE tmpTab;
SQL Fiddle DEMO

Wenn du sicherstellen willst, dass diese Fehler nicht mehr auftauchen, so würde ich einen TRIGGER (INSERT,UPDATE) empfehlen, der dieses gewährleistet.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat