SQLite - DETACH Database
SQLite DETACH DATABASEviene utilizzata per scollegare e dissociare un database denominato da una connessione al database precedentemente allegata utilizzando l'istruzione ATTACH. Se lo stesso file di database è stato allegato con più alias, il comando DETACH disconnetterà solo il nome specificato e il resto dell'allegato continuerà comunque. Non è possibile scollegare il filemain o temp banche dati.
Se il database è un database in memoria o temporaneo, il database verrà distrutto e il contenuto andrà perso.
Sintassi
Di seguito è riportata la sintassi di base dell'istruzione "Alias-Name" di SQLite DETACH DATABASE.
DETACH DATABASE 'Alias-Name';
In questo caso, "Alias-Name" è lo stesso alias che avevi utilizzato per collegare il database utilizzando l'istruzione ATTACH.
Esempio
Considera di avere un database, che hai creato nel capitolo precedente e lo hai allegato con 'test' e 'currentDB' come possiamo vedere usando .database comando.
sqlite>.databases
seq name file
--- --------------- ----------------------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db
3 currentDB /home/sqlite/testDB.db
Proviamo a scollegare 'currentDB' da testDB.db utilizzando il seguente comando.
sqlite> DETACH DATABASE 'currentDB';
Ora, se controlli l'allegato corrente, scoprirai che testDB.db è ancora connesso con 'test' e 'main'.
sqlite>.databases
seq name file
--- --------------- ----------------------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db