Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
LOAD DATA INFILE '/tmp/UNLOAD/193.dat'
INTO TABLE CALENDARIO
FIELDS TERMINATED BY ';'
Di fatto devo trasformare uno script per SYBASE in uno per MYSQL.
La cosa difficile è invertire la posizione di '/tmp/UNLOAD/193.dat' con CALENDARIO.
Pare che sed possa fare questo lavoro ma non ho capito come. Avete suggerimenti?
Ultima modifica di tgmx il mer 7 gen 2009, 14:36, modificato 1 volta in totale.
credo che sia più facile farlo con awk, piuttosto che con sed.
Per imparare awk ci sono tonnellate di guide online (basta che cerchi un po su google).
potresti anche provare a cercare online un convertitore già pronto, visto che il lavoro che devi fare è probabilmente qualcosa che è già stato fatto...
$ echo "LOAD TABLE CALENDARIO
FROM '/tmp/UNLOAD/193.dat'
FORMAT 'ASCII'
QUOTES ON ESCAPES ON STRIP OFF
CHECK CONSTRAINTS OFF
DELIMITED BY ','" | awk '/LOAD TABLE .*/ { TABLE = $3 }
/FROM .*/ { FROM = $2 }
END { print "LOAD DATA INFILE " FROM "\nINTO TABLE " TABLE "\nFIELDS TERMINATED BY '\'';'\''" }'
LOAD DATA INFILE '/tmp/UNLOAD/193.dat'
INTO TABLE CALENDARIO
FIELDS TERMINATED BY ';'
$
ovviamente non ti serve l'echo avrai una cosa come