Pagina 1 di 1

[Risolto] SQLite+Java+database "Multipli"

Inviato: ven 8 gen 2010, 19:09
da lennynero
Ciao ragazzi sto programmando un gestionale in Java che si appoggia ad un db sqlite, adesso avrei l'esigenza di fare un upgrade della struttura del db(causa cattiva analisi :(), ma non vorrei perdere i dati presenti nel vecchio db, sto cercando un modo per trasportarli dal vecchioDB al nuovoDB.
Presento la situazione(semplificata):
vecchioDB
A(a1,a2) la chiave è a1
B(b1,b2) la chiave è b1
La chiave esterna di A in B è b2(b2==a1)

nuovoDB
A(a1,a2) la chiave ora è a1,a2
B(b1,b2,b3) la chiave ora è b1,b3
La chiave esterna di A in B ora diventerebbe b2,b3(b2==a1, b3==a2)

In sostanza io vorrei fare questo: insert into nuovoDB.B(b1,b2,b3) Values(select b1,b2,a2 from vecchioDB.A, vecchioDB.B where b2==a1) è in qualche modo possibile in SQL o è necessario gestirlo in Java?

Grazie in anticipo.

Re: SQLite+Java+database "Multipli"

Inviato: ven 8 gen 2010, 21:48
da ilmich
La versione 3 di Sqlite permette questo tipo di insert(ma penso che anche sulla 2 sia supportato), dai un occhiata qui per un esempio:

http://www.mail-archive.com/sqlite-user ... 41785.html

nel tuo caso sarebbe una roba del genere:

Codice: Seleziona tutto

insert into nuovoDB.B(b1,b2,b3) select b1,b2,a2 from vecchioDB.A, vecchioDB.B where b2==a1;
comunque ti consiglio di leggere la documentazione ufficiale sulla sintassi delle insert:

http://www.sqlite.org/lang_insert.html

Ciau :D

Re: SQLite+Java+database "Multipli"

Inviato: dom 10 gen 2010, 14:06
da lennynero
Grazie miklos per avermi corretto la sintassi della insert, anche se in realtà il mio problema non era quello, cioè diciamo che la soluzione era nella domanda...:D. Mi spiego meglio: io supponevo che vecchioDB e nuovoDB fossero 2 file differenti, ma mi sono documentato un pò e ho scoperto che con il comando attach database posso attachare appunto altri databases a quello aperto..., e successivamente eseguire la query in esame(da te corretta), quindi problema risolto. Grazie ancora.

Re: [Risolto] SQLite+Java+database "Multipli"

Inviato: dom 10 gen 2010, 15:10
da ilmich
ahhh ok... non avevo capito bene allora... comunque contento di esserti stato utile :D