Wenn man mal 'ne Fehlermeldung braucht, kommt keine
Verfasst: So, 24.02.2008 09:17
Hallo,
ich habe eine Ursprungstabelle ('istdaten_original') mit Buchungssätzen, aus der ich nur bestimmte Informationen benötige. Die für mich wichtigen Infos schreibe ich mit INSERT INTO in eine neue Tabelle ('istdaten'). Gleichzeitig werden die Buchungswerte mit einem Vorzeichen (kto_vorzeichen = +1 oder -1), aus der Steuertabelle 'konten' multipliziert, um die richtige Grundlage für weitere Berechnungen zu erhalten.
Dabei kann folgendes Problem auftreten:
Es gibt Buchungen in der 'istdaten_original' mit Kontonummern, die in meiner Steuertabelle 'konten' noch nicht vorhanden sind. Sobald dieses Problem auftritt, wird der betreffende Datensatz nicht in meine Zieltabelle 'istdaten' übernommen (weil MySQL das Vorzeichen nicht findet). Sprich, ich habe in meiner Ausgangstabelle 4000 Datensätze und in meiner Zieltabelle nur 3992. Sonst bekommt man in MySQL alle naselang eine Fehlermeldung, nur in diesem Fall nicht.
Hier meine INSERT Anweisung:
Ich habe nun gar keine Ahnung, wie ich eine Information zu den nicht übertragenen Datensätze bekomme. Kann ich mir einen Logfile schreiben lassen? Wenn ja, wie macht man sowas? Leider bin ich noch nicht so fit in MySQL.
Vielen Dank für eure Hilfe!
Schöne Grüße
Werner
ich habe eine Ursprungstabelle ('istdaten_original') mit Buchungssätzen, aus der ich nur bestimmte Informationen benötige. Die für mich wichtigen Infos schreibe ich mit INSERT INTO in eine neue Tabelle ('istdaten'). Gleichzeitig werden die Buchungswerte mit einem Vorzeichen (kto_vorzeichen = +1 oder -1), aus der Steuertabelle 'konten' multipliziert, um die richtige Grundlage für weitere Berechnungen zu erhalten.
Dabei kann folgendes Problem auftreten:
Es gibt Buchungen in der 'istdaten_original' mit Kontonummern, die in meiner Steuertabelle 'konten' noch nicht vorhanden sind. Sobald dieses Problem auftritt, wird der betreffende Datensatz nicht in meine Zieltabelle 'istdaten' übernommen (weil MySQL das Vorzeichen nicht findet). Sprich, ich habe in meiner Ausgangstabelle 4000 Datensätze und in meiner Zieltabelle nur 3992. Sonst bekommt man in MySQL alle naselang eine Fehlermeldung, nur in diesem Fall nicht.
Hier meine INSERT Anweisung:
Code: Alles auswählen
INSERT INTO istdaten (id_ktonr, id_beschreibung, id_wert, id_monat, id_jahr)
SELECT
istdaten_original.SachkontoNr,
istdaten_original.Buchungstext,
istdaten_original.Betrag * konten.kto_vorzeichen,
Month(Buchungsdatum),
Year(Buchungsdatum)
FROM istdaten_original, konten
where istdaten_original.SachkontoNr = konten.kto_nr
Vielen Dank für eure Hilfe!
Schöne Grüße
Werner