Salve a tutti,
sto cercando di mettere a punto una query unica per generare un db in spatialite. Seguendo il prezioso cookbook di Alessandro Furieri, mi sono scontrato su una cosa banale probabilmente, ma di cui non riesco a capire la soluzione. In breve, perchè su postgres posso creare una tabella ed aggiungere una colonna spaziale in un'unica query, mentre spatialite richiede 2 passaggi distinti?
Se faccio girare la query di cui sotto [0], la query crea la prima tabella, ma dal primo select in poi ignora tutto. Dove sbaglio? Ciao e grazie Luca [0] --############################## -- TABELLA RIPARTIZIONI SPAZIALI --############################## CREATE TABLE pyarchinit_ripartizioni_spaziali (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, id_rs character varying(80), sito_rs character varying(80), tip_rip character varying, descr_rs character varying
); SELECT AddGeometryColumn ('pyarchinit_ripartizioni_spaziali','the_geom',3004, 'POLYGON',2); --############################## -- TABELLA SITI
--############################## CREATE TABLE pyarchinit_siti ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, id_sito character varying(80), sito_nome character varying(80),
descr_sito character varying ); SELECT AddGeometryColumn('pyarchinit_siti','the_geom',3004, 'POINT',2); _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 630 iscritti al 1.12.2012 |
On Sun, 13 Jan 2013 17:35:48 +0100, Luca Mandolesi wrote:
> Salve a tutti, > sto cercando di mettere a punto una query unica per generare un db in > spatialite. Seguendo il prezioso cookbook di Alessandro Furieri, mi > sono scontrato su una cosa banale probabilmente, ma di cui non riesco > a capire la soluzione. In breve, perchè su postgres posso creare una > tabella ed aggiungere una colonna spaziale in un'unica query, mentre > spatialite richiede 2 passaggi distinti? > risposta ovvia: perche' SpatiaLite si basa su SQLite, mentre PostGis si basa su PostgreSQL. entrambi sono DBMS conformi ai principali standard internazionali. ma detto questo, dal punto di vista dell'implementazione fisica e dell'architettura sono assolutamente diversi (ed in qualche punto sono ben poco compatibili). giusto per dare una stima "a peso": PostgreSQL fanno circa 30 MB di eseguibili binari, SQLite giusto un centinaio di KB e' ovvio che SQLite riesce a fare miracoli con cosi' poco, ma e' anche altrettanto ovvio che offre un supporto ben piu' spartano. > Se faccio girare la query di cui sotto [0], la query crea la prima > tabella, ma dal primo select in poi ignora tutto. > Dove sbaglio? > non sbagli proprio nulla come sintassi SQL; stai semplicemente sbagliando il contesto di esecuzione. se provi a caricare tutte le tue istruzioni in un file di testo (script SQL) e poi le esegui con un front-end a riga di comando come sqlite3 oppure spatialite, scoprirai che funzionano perfettamente. ma se usi il connector Python (come immagino) allora devi necessariamente eseguire un'unica istruzione SQL alla volta. ma non e' un limite specifico di Python; e' la stessa cosa in C/C++, Java, .NET etc per quanto a mia conoscenza nessun connector SQL consente mai di eseguire piu' istruzioni concatenate in un sol colpo; devi fare per forza singole operazioni "atomiche". ciao Sandro > Ciao e grazie > Luca > > [0] > > --############################## > -- TABELLA RIPARTIZIONI SPAZIALI > --############################## > > CREATE TABLE pyarchinit_ripartizioni_spaziali ( > id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, > id_rs character varying(80), > sito_rs character varying(80), > tip_rip character varying, > descr_rs character varying > ); > > SELECT AddGeometryColumn > ('pyarchinit_ripartizioni_spaziali','the_geom',3004, 'POLYGON',2); > > --############################## > -- TABELLA SITI > --############################## > > CREATE TABLE pyarchinit_siti ( > id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, > id_sito character varying(80), > sito_nome character varying(80), > descr_sito character varying > ); > > SELECT AddGeometryColumn('pyarchinit_siti','the_geom',3004, > 'POINT',2); -- Il messaggio e' stato analizzato alla ricerca di virus o contenuti pericolosi da MailScanner, ed e' risultato non infetto. _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 630 iscritti al 1.12.2012 |
Free forum by Nabble | Edit this page |