Repository 32bit  Forum
Repository 64bit  Wiki

[Risolto] SQLite+Java+database "Multipli"

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

[Risolto] SQLite+Java+database "Multipli"

Messaggioda lennynero » ven gen 08, 2010 19:09

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.
Ultima modifica di lennynero il dom gen 10, 2010 14:07, modificato 2 volte in totale.
Avatar utente
lennynero
Linux 2.6
Linux 2.6
 
Messaggi: 567
Iscritto il: dom mag 02, 2004 23:00
Località: Salerno
Slackware: 14.1-x64
Kernel: 3.10.17
Desktop: xfce-4.10

Re: SQLite+Java+database "Multipli"

Messaggioda miklos » ven gen 08, 2010 21:48

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
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1282
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.16.3
Desktop: openbox 3.5.2

Re: SQLite+Java+database "Multipli"

Messaggioda lennynero » dom gen 10, 2010 14:06

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.
Avatar utente
lennynero
Linux 2.6
Linux 2.6
 
Messaggi: 567
Iscritto il: dom mag 02, 2004 23:00
Località: Salerno
Slackware: 14.1-x64
Kernel: 3.10.17
Desktop: xfce-4.10

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

Messaggioda miklos » dom gen 10, 2010 15:10

ahhh ok... non avevo capito bene allora... comunque contento di esserti stato utile :D
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1282
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.16.3
Desktop: openbox 3.5.2


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite