SQLite - Banco de dados DETACH
SQLite DETACH DATABASEinstrução é usada para desanexar e dissociar um banco de dados nomeado de uma conexão de banco de dados que foi anteriormente anexada usando a instrução ATTACH. Se o mesmo arquivo de banco de dados foi anexado com vários aliases, o comando DETACH desconectará apenas o nome fornecido e o restante do anexo continuará. Você não pode separar omain ou temp bancos de dados.
Se o banco de dados for um banco de dados na memória ou temporário, o banco de dados será destruído e o conteúdo será perdido.
Sintaxe
A seguir está a sintaxe básica da instrução SQLite DETACH DATABASE 'Alias-Name'.
DETACH DATABASE 'Alias-Name';
Aqui, 'Alias-Name' é o mesmo alias que você usou ao anexar o banco de dados usando a instrução ATTACH.
Exemplo
Considere que você tem um banco de dados, que você criou no capítulo anterior e o anexou com 'test' e 'currentDB', como podemos ver 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
Vamos tentar separar 'currentDB' de testDB.db usando o seguinte comando.
sqlite> DETACH DATABASE 'currentDB';
Agora, se você verificar o anexo atual, verá que testDB.db ainda está conectado com 'test' e 'main'.
sqlite>.databases
seq name file
--- --------------- ----------------------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db