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