Seite 1 von 1

Tabellen Update nach where clause - Script für Versanddaten

Verfasst: Mi 11. Mai 2011, 14:38
von Hendrik.Pahl
Hi,

ich versuch gerade ein Script zu schreiben, dass die Kundenadressdaten ausgibt und anschliessend eine "versendet" Flag setzt dazu habe ich die Tabelle 'journal' um das Feld 'SENT' (default 0) erweitert

so sieht's bisher aus:

Code: Alles auswählen

select
JOURNAL.KUN_NAME1 as Firma,
JOURNAL.KUN_NAME2 as Vorname,
JOURNAL.KUN_NAME3 as Nachname,
JOURNAL.KUN_STRASSE as Strasse,
JOURNAL.KUN_PLZ as Plz,
JOURNAL.KUN_ORT as Ort,
JOURNAL.KUN_LAND as LCode,
ADRESSEN.TELE1 as Telefon,
ADRESSEN.EMAIL as email,
JOURNAL.VRENUM as Bestellnummer,
JOURNAL.ZAHLART as Zahlart,
CURDATE() as Versanddatum,
JOURNAL.SENT as versendet
from JOURNAL

left outer join ADRESSEN on ADRESSEN.KUNNUM1=JOURNAL.KUN_NUM

where JOURNAL.VRENUM NOT LIKE '%STORNO%'
and JOURNAL.QUELLE=3
and JOURNAL.SHOP_STATUS=6
and JOURNAL.RDATUM>=CURDATE()-1
and LIEFART NOT LIKE '7'
and Journal.sent NOT LIKE '1'
INTO OUTFILE 'bestellungen.csv'
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n'
UPDATE JOURNAL SET SENT='1' WHERE SHOP_STATUS=6
Die UPDATE Anweisung wird nicht ausgeführt, MySql bricht mit mit Syntaxfehlermeldung ab - help... ich kau da schon den ganzen Tag drauf rum...

Gruss und Dank

Hendrik

Re: Tabellen Update nach where clause - Script für Versandda

Verfasst: Mi 11. Mai 2011, 20:56
von hei-ta
Hallo Hendrik,

im Export sind nicht alle Befehle freigeschaltet. Hier mußt Du evtl. auf einen externen SQL-Editor ausweichen (siehe http://www.cao-faktura.de/index.php?opt ... sql+update)

Helmut

Re: Tabellen Update nach where clause - Script für Versandda

Verfasst: Do 12. Mai 2011, 08:30
von redone
Hallo,

mit dem Export von CAO können nur SELECT-Befehle bearbeitet werden. Du mußt das Script also mit einem geeigneten Tool, wie z.b. HeidiSQL durchführen. Desweiteren mußt du die einzelnen Befehle mit einem Semikolon abschließen, wenn du sie in einem Rutsch abarbeiten lassen willst. Also nach

Code: Alles auswählen

select...LINES TERMINATED BY '\n'
muss ein Semikolen stehen

Code: Alles auswählen

select...LINES TERMINATED BY '\n';
Dann wird auch das Update ausgeführt. Am besten sich gleich angewöhnen SQL-Befehle immer mit ; abzuschließen, dann gibts weniger Probleme ;)

Re: Tabellen Update nach where clause - Script für Versandda

Verfasst: Do 12. Mai 2011, 10:26
von Hendrik.Pahl
Danke für Eure Hilfe... wenn's doch nur so einfach wär...

Code: Alles auswählen

select...LINES TERMINATED BY '\n';
ist natürlich (!) logisch führt aber leider zu der SQL Meldung "Unknown Table 'Journal' in WHERE CLAUSE"

Ich lass das Script direkt aus HeidiSQL laufen.

Gruss und Dank,

Hendrik

Re: Tabellen Update nach where clause - Script für Versandda

Verfasst: Do 12. Mai 2011, 10:46
von Hendrik.Pahl
Edit:

es gibt Tage...

der Fehler saß an ganz anderer Stelle :)
die Tabelle heisst JOURNAL nicht Journal...


Gruss und Dank,

Hendrik

Re: Tabellen Update nach where clause - Script für Versandda

Verfasst: Do 12. Mai 2011, 10:48
von redone
Hallo

ändere mal

Code: Alles auswählen

Journal.sent
in

Code: Alles auswählen

JOURNAL.SENT
Vorrausgesetzt SENT ist auch so in der Datenbank geschrieben, also groß.