HfWU - Datenexport und -import mit awk
Aus Wikizone
Version vom 30. Mai 2007, 07:49 Uhr von 193.196.133.66 (Diskussion)
Problemstellung: Export von Datenstrukturen aus Infosite (z.B. Personallisten) und -import bzw. Konvertierung in vorgegebene Datenstruktur.
Allgemeines Vorgehen:
- Datenbankstruktur prinzipiell aufbauen.
- Generierung von SQL - Abfragen auf die Infosite Datenbank um die Daten zu bekommen
- awk-Skript zum Auslesen der vorhanden Felder (die Felder liegen nicht als DB-Felder vor sondern sind als Daten in der Tabelle aufgeführt) und Generierung eines sql - Files mit den Notwendigen Statements zum erzeugen der DB-Felder
- Erstellen der Tabelle (evt. von Hand manipulieren)
- awk-Skript zum Auslesen aller uids und generieren eines insert-uid.sql Files
- Erstellen der Datensätze (nur die uids, alle anderen Felder sind leer)
- awk-Skript zum Updaten der Datensätze mit den restlichen Daten (dazu die uids für den where Clause nutzen) -> update.sql
- Ausführen dieses Datensatzes
--- Mitschrieb:
awk -F "#" '{print $2}' results.csv | sort | uniq | grep "SP" | awk '{print $1,"VARCHAR(255)",",\\"}' > insert.sql
dann noch manuell
create table addr_temp (
und am ende ) eingefügt
alter table addr_temp uid varchar(255);
sort -n -t# +3 results1.csv rpl "sp_auto_" "" results1.csv
awk -F "#" '{print "insert into addr_tmp uid values "$4}' results1.csv | sort | uniq
awk -F "#" {'print "update addr_temp SET "$2 "=\""$3"\"" " where uid=\""$4 "\" ;"}' results1.csv > update_values.sql