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