Attach the files to the session, give INSERT
by selecting the table data in each database. The base name (last name of the table) comes before the table.
ATTACH 'path/aqui/vihicles1.sqlite' as v1;
ATTACH 'path/aqui/vihicles2.sqlite' as v2;
ATTACH 'path/aqui/vihicles3.sqlite' as v3;
ATTACH 'path/aqui/vihicles4.sqlite' as v4;
INSERT INTO tblVehicle SELECT * FROM v1.tblVehicle;
INSERT INTO tblVehicle SELECT * FROM v2.tblVehicle;
INSERT INTO tblVehicle SELECT * FROM v3.tblVehicle;
INSERT INTO tblVehicle SELECT * FROM v4.tblVehicle;
DETACH 'path/aqui/vihicles1.sqlite';
DETACH 'path/aqui/vihicles2.sqlite';
DETACH 'path/aqui/vihicles3.sqlite';
DETACH 'path/aqui/vihicles4.sqlite';
Do not think this case is much needed at low volume, but some settings may be useful for improving performance:
Some examples that might help:
PRAGMA synchronous = OFF
PRAGMA journal_mode = MEMORY
This does not create indexes.
You can use one of the files to receive the others, then the indexes already exist. But the import may be much slower. I do not know how to optimize SQLite, but it was faster to import without index and then create index.
It would be good to test some situations and see how it works best for you.