Russian Qt Forum

Qt => Базы данных => Тема начата: Flakes от Декабрь 10, 2008, 03:01



Название: Работа с несколькими ДБ одновременно
Отправлено: Flakes от Декабрь 10, 2008, 03:01
SQLite. Я хочу сделать копию какой-нить таблицы и сохранить ее в отдельный файл. Я вижу вариант на подобии:
Код:
QSqlQuery queryOLD.exec("SELECT...");

QSqlDatabase newDB;
newDB.setDatabaseName(newDBfileName);
QSqlQuery queryNEW(newDB);

while (queryOLD.next()){
     queryNEW.exec("UPDATE SET...");
}

Но это может порядком наверно затянуться. А хотелось бы:
Код:
CREATE TABLE new_table_name
SELECT * FROM old_table_name;

Но не вижу у queryOLD и queryNEW ничего их объединяющего.


Название: Re: Работа с несколькими ДБ одновременно
Отправлено: vaprele07 от Декабрь 10, 2008, 04:26
а что-то типа SELECT INTO? копирует, сохраняет в файл...


Название: Re: Работа с несколькими ДБ одновременно
Отправлено: lit-uriy от Декабрь 10, 2008, 04:52
2 Flakes, почитай руководство по SQLite, эта СУБД поддерживает копирование из базы в базу посредством подключения (http://sb-news.net/sqlite.php?page=37) к уже отрытой БД еще одной.
тогда работа выглядит следующим образом:
INSERT INTO db2.tbl1 SELECT * FROM db1.tbl1;



Название: Re: Работа с несколькими ДБ одновременно
Отправлено: Flakes от Декабрь 10, 2008, 22:23
Ну вот, снова меня спасли, спасибо!