[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico] [volume] [parte]
La cancellazione delle tuple avviene attraverso l'istruzione DELETE FROM, con un procedimento simile a quello della modifica, in quanto va specificata la condizione di cancellazione, altrimenti si ottiene l'eliminazione di tutte le tuple della relazione.
Con l'ausilio di un programma per la scrittura e modifica di file di testo puro, si crei il file prova-cancella-causali.sql
, contenente il testo seguente, sostituendo le metavariabili con informazioni appropriate e rispettando la punteggiatura:
|
In questo modo, si vuole eliminare la tupla della relazione Causali, con il codice causale uno (quella che ha la descrizione «Carico per acquisto»).
Si controlli di avere scritto il file prova-cancella-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-cancella-causali.sql
[Invio]
Se non si ottiene alcun messaggio da parte del programma, la cancellazione della tupla dovrebbe essere avvenuta con successo, altrimenti, è stato commesso un errore. Per rimediare all'errore, dovrebbe essere sufficiente modificare il file prova-cancella-causali.sql
e riprovare. Quando si ritiene di avere cancellato la tupla in questione, si può interrogare la relazione per verificarne lo stato. 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 ---------- ------------------- ---------- 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 riprenda il file prova-cancella-causali.sql
e lo si modifichi secondo la forma seguente, sostituendo le metavariabili con informazioni appropriate e rispettando la punteggiatura:
|
In questo modo, si vogliono eliminare le tuple corrispondenti a una riduzione della quantità in magazzino, (in quanto nell'attributo Variazione ha il valore -1).
Si controlli di avere scritto il file prova-cancella-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-cancella-causali.sql
[Invio]
Se non si ottiene alcun messaggio da parte del programma, la cancellazione dovrebbe avere avuto successo, altrimenti, è stato commesso un errore. Per rimediare all'errore, dovrebbe essere sufficiente modificare il file prova-cancella-causali.sql
e riprovare. Quando si ritiene di avere eseguito l'operazione con successo, 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 3 Reso da cliente 1 5 Rettifica aumento a 1 7 Rettifica diminuzio 1 9 Carico da produzion 1 11 Carico da altro mag 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 cancella-articoli.sql
, seguendo lo scheletro seguente, tenendo conto che si vogliono eliminare i dischetti (i primi due).
|
Una volta completato e salvato il file cancella-articoli.sql
, se ne controlli il funzionamento con la base di dati:
$
sqlite3 mag.db < cancella-articoli.sql
[Invio]
Se non si ottiene alcun messaggio da parte del programma, la cancellazione 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 ---------- ----------- ---------- ---------- ---------- 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 cancella-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]
Il file prova-cancella-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 eliminazione_delle_tuple.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]