[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico] [volume] [parte]
Una volta inserita una tupla in una relazione, si può modificare il suo contenuto con l'istruzione UPDATE, che si applica a tutte le tuple che soddisfano una certa condizione.
Con l'ausilio di un programma per la scrittura e modifica di file di testo puro, si crei il file prova-modifica-causali.sql
, contenente il testo seguente, sostituendo le metavariabili con informazioni appropriate e rispettando la punteggiatura:
|
In questo modo, si vuole modificare la tupla della relazione Causali, con il codice causale uno, in modo che la descrizione risulti molto più breve.
Si controlli di avere scritto il file prova-modifica-causali.sql
in modo corretto, rispettando anche la punteggiatura; si controlli di avere salvato il file con il nome previsto, quindi si proceda con il comando seguente:
$
sqlite3 mag.db < prova-modifica-causali.sql
[Invio]
Se non si ottiene alcun messaggio da parte del programma, la modifica della tupla dovrebbe essere avvenuta con successo, altrimenti, è stato commesso un errore. Per rimediare all'errore, dovrebbe essere sufficiente modificare il file prova-modifica-causali.sql
e riprovare.
Quando si è consapevoli di avere modificato correttamente la tupla in questione, si può interrogare la relazione per verificare i cambiamenti apportati. Si esegua il procedimento seguente, in modo interattivo:
$
sqlite3 mag.db
[Invio]
SQLite version ... Enter ".help" for instructions |
sqlite>
.headers on
[Invio]
sqlite>
.mode column
[Invio]
sqlite>
SELECT * FROM Causali;
[Invio]
Si dovrebbe ottenere il listato seguente:
Causale Descrizione Variazione ---------- ----------- ---------- 1 car x acq 1 2 Scarico per -1 3 Reso da cli 1 4 Reso a forn -1 5 Rettifica a 1 6 Rettifica a -1 7 Rettifica d 1 8 Rettifica d -1 9 Carico da p 1 10 Scarico a p -1 11 Carico da a 1 12 Scarico ad -1 13 Saldo inizi 1 |
Come sempre, si conclude il funzionamento interattivo di sqlite3 con il comando .quit:
sqlite>
.quit
[Invio]
Prima di passare alla sezione successiva, si deve ripristinare la base di dati al suo stato precedente. Per questo, è necessario cancellare il file mag.db
e poi ricrearlo con il comando seguente:
$
sqlite3 mag.db < magazzino.sql
[Invio]
Si riprenda il file prova-modifica-causali.sql
e lo si modifichi secondo la forma seguente, sostituendo le metavariabili con informazioni appropriate e rispettando la punteggiatura:
|
In questo modo, si vuole modificare ogni tupla della relazione Causali che corrisponde a un aumento di quantità in magazzino (in quanto nell'attributo Variazione ha il valore +1), in modo da avere una descrizione con tutte lettere maiuscole. Nel contempo, si vuole che le descrizione associate a movimenti in diminuzione, siano scritte utilizzando soltanto caratteri minuscoli.
Si controlli di avere scritto il file prova-modifica-causali.sql
in modo corretto, rispettando anche la punteggiatura; si controlli di avere salvato il file con il nome previsto, quindi si proceda con il comando seguente:
$
sqlite3 mag.db < prova-modifica-causali.sql
[Invio]
Se non si ottiene alcun messaggio da parte del programma, la modifica delle tuple dovrebbe essere stata eseguita con successo, altrimenti, è stato commesso un errore. Per rimediare all'errore, dovrebbe essere sufficiente modificare il file prova-modifica-causali.sql
e riprovare.
Quando si è consapevoli di avere modificato correttamente le tuple, si può interrogare la relazione per verificare i cambiamenti apportati. Si esegua il procedimento seguente, in modo interattivo:
$
sqlite3 mag.db
[Invio]
SQLite version ... Enter ".help" for instructions |
sqlite>
.headers on
[Invio]
sqlite>
.mode column
[Invio]
sqlite>
SELECT * FROM Causali;
[Invio]
Si dovrebbe ottenere il listato seguente:
Causale Descrizione Variazione ---------- ------------------- ---------- 1 CARICO PER ACQUISTO 1 2 scarico per vendita -1 3 RESO DA CLIENTE 1 4 reso a fornitore -1 5 RETTIFICA AUMENTO A 1 6 rettifica aumento v -1 7 RETTIFICA DIMINUZIO 1 8 rettifica diminuzio -1 9 CARICO DA PRODUZION 1 10 scarico a produzion -1 11 CARICO DA ALTRO MAG 1 12 scarico ad altro ma -1 13 SALDO INIZIALE 1 |
Come sempre, si conclude il funzionamento interattivo di sqlite3 con il comando .quit:
sqlite>
.quit
[Invio]
Prima di passare alla sezione successiva, si deve ripristinare la base di dati al suo stato precedente. Per questo, è necessario cancellare il file mag.db
e poi ricrearlo con il comando seguente:
$
sqlite3 mag.db < magazzino.sql
[Invio]
Si prepari il file modifica-articoli.sql
, seguendo lo scheletro seguente, tenendo conto che si vuole cambiare la descrizione del primo e del secondo articolo, in modo da avere rispettivamente: «Floppy 1.4» e «Floppy 1.4 C». Per ottenere questo risultato è necessario utilizzare due volte l'istruzione UPDATE.
|
Una volta completato e salvato il file modifica-articoli.sql
, se ne controlli il funzionamento con la base di dati:
$
sqlite3 mag.db < modifica-articoli.sql
[Invio]
Se non si ottiene alcun messaggio da parte del programma, la modifica delle tuple dovrebbe essere avvenuta con successo, altrimenti è stato commesso un errore. Per rimediare all'errore dovrebbe essere sufficiente correggere il file modifica-articoli.sql
e riprovare. Quando si ritiene di avere eseguito l'operazione correttamente, si può interrogare la relazione Articoli per verificarne il risultato. Si esegua il procedimento seguente, in modo interattivo:
$
sqlite3 mag.db
[Invio]
SQLite version ... Enter ".help" for instructions |
sqlite>
.headers on
[Invio]
sqlite>
.mode column
[Invio]
sqlite>
SELECT * FROM Articoli;
[Invio]
Si dovrebbe ottenere il listato seguente:
Articolo Descrizione UM Listino ScortaMin ---------- ----------- ---------- ---------- ---------- 1 Floppy 1.4 pz 0.2 500 2 Floppy 1.4 pz 0.25 500 101 CD-R 16x pz 0.5 500 102 CD-R 52x pz 1 500 201 CD-RW 4x pz 1 200 202 CD-RW 8x pz 1.5 200 301 DVD-R 8x pz 1 200 302 DVD-R 16x pz 2 200 401 DVD+R 8x pz 1 200 402 DVD+R 16x pz 2 200 501 DVD-RW 8x pz 2 200 601 DVD+RW 8x pz 2 200 |
Se tutto funziona regolarmente, si consegni per la valutazione la stampa del file modifica-articoli.sql
.
Prima di passare alla sezione successiva, si deve ripristinare la base di dati al suo stato precedente. Per questo, è necessario cancellare il file mag.db
e poi ricrearlo con il comando seguente:
$
sqlite3 mag.db < magazzino.sql
[Invio]
Si prepari il file modifica-clienti-fornitori.sql
, seguendo lo scheletro seguente, tenendo conto che si vuole cambiare la ragione sociale delle relazioni Clienti e Fornitori, in modo che sia costituita da caratteri maiuscoli. Pertanto, la sostituzione riguarda tutte le tuple in entrambe le relazioni.
|
Una volta completato e salvato il file modifica-clienti-fornitori.sql
, se ne controlli il funzionamento con la base di dati:
$
sqlite3 mag.db < modifica-clienti-fornitori.sql
[Invio]
Se non si ottiene alcun messaggio da parte del programma, la modifica delle tuple dovrebbe essere avvenuta con successo, altrimenti è stato commesso un errore. Per rimediare all'errore dovrebbe essere sufficiente correggere il file modifica-articoli.sql
e riprovare. Quando si ritiene di avere eseguito l'operazione correttamente, si possono interrogare le due relazioni per verificarne il contenuto. Si esegua il procedimento seguente, in modo interattivo:
$
sqlite3 mag.db
[Invio]
SQLite version ... Enter ".help" for instructions |
sqlite>
.headers on
[Invio]
sqlite>
.mode column
[Invio]
sqlite>
SELECT * FROM Clienti;
[Invio]
Si dovrebbe ottenere il listato seguente:
Cliente RagioneSociale Paese Indirizzo CAP Citta Prov Telefono Fax CFPI ------- -------------- ------ ------------ ----- --------- ---- ----------- ----------- ----------- 1 MEVIO VEVI ITALIA via Mare, 11 31050 Morgano TV 0422,444444 0422,555555 45678901234 2 FILANO FILANI ITALIA via Farfalle 31032 Feltre BL 0439,555555 0439,666666 56789012345 3 MARTINO MARTIN ITALIA via Marte, 3 31010 Mareno di TV 0438,666666 0438,777777 67890123456 |
sqlite>
SELECT * FROM Fornitori;
[Invio]
Si dovrebbe ottenere il listato seguente:
Fornitore RagioneSociale Paese Indirizzo CAP Citta Prov Telefono Fax CFPI --------- -------------- ------ ------------- ----- ---------- ---- ----------- ----------- ----------- 1 TIZIO TIZI ITALIA via Tazio, 11 31100 Treviso TV 0422,111111 0422,222222 12345678901 2 CAIO CAI ITALIA via Caino, 22 31033 Castelfran TV 0423,222222 0423,333333 23456789012 3 SEMPRONIO SEMP ITALIA via Salina, 3 31057 Silea TV 0422,333333 0422,444444 34567890123 |
Se tutto funziona regolarmente, si consegni per la valutazione la stampa del file modifica-clienti-fornitori.sql
.
Prima di passare alla sezione successiva, si deve ripristinare la base di dati al suo stato precedente. Per questo, è necessario cancellare il file mag.db
e poi ricrearlo con il comando seguente:
$
sqlite3 mag.db < magazzino.sql
[Invio]
Il file prova-modifica-causali.sql
non serve più e va cancellato.
Appunti di informatica libera 2006.07.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome modifica_del_contenuto_delle_tuple.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]