Append tra due database SQLite tramite script
Come aggiungere dati a tabelle di due database sqlite differenti usando uno script.
A cura di Totò Fiandaca | guida/e Andrea Borruso
caso d’uso
Appendere dati da una tabella a un’altra è una operazione ripetitiva che si risolve, brillantemente, attraverso lo scripting usando, per esempio, la libreria GDAL/OGR o script SQL. Questa procedura facilita enormemente il lavoro di gruppo su uno stesso database SQLite (db_main.sqlite) distribuito a più persone (per esempio db01.sqlite): permettendo di appendere i dati nel db originario dopo una sessione di lavoro.
script bash
#!/bin/bash
ogr2ogr -update -append -f SQLite db_main.sqlite -nln "nomeTabellaDestinazione" db01.sqlite "nomeTabellaOrigine"
script SQL
--
-- the present SQL script is intended to be executed from SpatiaLite_gui
--
-- initializing the output db-file
--
SELECT InitSpatialMetadata(1);
--
-- attaching the input DB-file
ATTACH DATABASE 'percorso_al_db/db01.sqlite' AS input;
SELECT CloneTable('input', 'nomeTabellaOrigine', 'nomeTabellaDestinazione', 1, '::append::'); -- appendo seconda tabella
-- detaching the input db-file
--
DETACH DATABASE input;
--
-- vacuuming the output db-file
--
VACUUM;
come e dove usare gli script
- lo
script bash
va lanciato da un terminale, a partire dalla cartella che contiene i db; - lo
script SQL
va eseguito all’interno di spatialite_gui (Execute SQL script, dal menu).
Ultima modifica 19/07/2020: close #50 (a1365d8)