SQLite - Banco de dados ATTACH
Considere um caso em que você tem vários bancos de dados disponíveis e deseja usar qualquer um deles por vez. SQLiteATTACH DATABASE A instrução é usada para selecionar um banco de dados específico e, após esse comando, todas as instruções SQLite serão executadas no banco de dados anexado.
Sintaxe
A seguir está a sintaxe básica da instrução SQLite ATTACH DATABASE.
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
O comando acima também criará um banco de dados caso o banco de dados ainda não tenha sido criado, caso contrário, apenas anexará o nome do arquivo do banco de dados com o banco de dados lógico 'Alias-Name'.
Exemplo
Se você deseja anexar um banco de dados existente testDB.db, a instrução ATTACH DATABASE seria a seguinte -
sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';
Use SQLite .database comando para exibir o banco de dados anexado.
sqlite> .database
seq name file
--- --------------- ----------------------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db
Os nomes do banco de dados main e tempsão reservados para o banco de dados primário e o banco de dados para conter tabelas temporárias e outros objetos de dados temporários. Ambos os nomes de banco de dados existem para todas as conexões de banco de dados e não devem ser usados para anexos, caso contrário, você receberá a seguinte mensagem de aviso.
sqlite> ATTACH DATABASE 'testDB.db' as 'TEMP';
Error: database TEMP is already in use
sqlite> ATTACH DATABASE 'testDB.db' as 'main';
Error: database TEMP is already in use