Come clonare una tabella in spatialite CloneTable()

Chi utilizza spatialite avrà avuto, almeno una volta nella vita, la necessità di clonare una tabella cioè di semplificare la copia dei dati tra diverse tabelle dello stesso DB o addirittura di DB esterni. CloneTable() fa al caso nostro, questa nuova feature è stata introdotta a partire dalla versione 4.2.1 di spatialite grazie a A. Furieri. (per maggiori dettagli leggete qui).

In questo articolo vedremo, rapidamente, come clonare una tabella di un DB spatilite:

SELECT CloneTable ('main', 'tabellaInput', 'tabellaOutput', 1);

dove:

  • main: rappresenta il DB principale, cioè quello in cui stiamo lavorando (va lasciato cosi se la tabella da clonare si trova nel DB principale);
  • tabellaInput: rappresenta il nome della tabella da copiare (che potrebbe essere in un altro DB);
  • tabellaOutput: rappresenta il nome della tabella di destinazione (che deve stare sempre nel DB principale);
  • 1: cose tecniche che non ci interessano.

CloneTable() supporta numerose opzioni che lo rendono parecchio potente (per maggiori dettagli leggere qui), noi vedremo solo ::append:: che permette di accodare altre righe:

SELECT CloneTable('main','tabellaInput','tabellaOutput',1,'::append::');

 


Note finali: CloneTable() puo’ essere usato anche per clonare tabelle vuote oppure per aggirare il problema del ALTER TABLE DROP COLUMN.

SELECT CloneTable ('main','old_table','new_table', 1,':: ignore :: foo'); 
DROP TABLE old_table;

 

Buon lavoro!!!

 

Pubblicità

2 pensieri su “Come clonare una tabella in spatialite CloneTable()

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.