2015-02-21 4 views
1

Я использую SQLite Expert Personal 3 для доступа и записи SQL-скрипта для баз данных sqlite. У меня есть 30 баз данных sqlite, которые имеют ту же структуру, что и я, чтобы объединиться. im, используя следующий скрипт. Основная база данных имеет id как автоматическое приращение.loop with variable in sqlite3

attach 'database0001.db3' as toimport; 
insert into [main].[Titles] select * from [toimport].[Titles]; 
insert into [main].[TitlesData] select * from [toimport].[TitlesData]; 
DETACH DATABASE toimport; 

Я также могу легко создать базу данных с именами файлов, если это необходимо.

Можно ли это сделать в цикле, где переменная $ - это имя файла, поэтому мне не нужно писать один и тот же скрипт 30 раз?

Спасибо и извините нуб вопрос :)

ответ

0

Да, язык сценариев может быть использован для записи его в 30 раз, так что вам не придется. Вот пример использования perl, хотя многие языки могут делать аналогичные.

В каждом проходе через цикл спецификатор формата% 04d приводит к появлению десятичной переменной $ переменной в поле шириной четыре, слева - с нулями.

use strict; use warnings; 

my $formatString = "attach 'database%04d.db3' as toimport; 
insert into [main].[Titles] select * from [toimport].[Titles]; 
insert into [main].[TitlesData] select * from [toimport].[TitlesData]; 
DETACH DATABASE toimport;\n"; 

for (my $variable = 1; $variable <= 30; ++$variable) { 
     printf ($formatString, $variable); 
} 
+0

Благодарим за отзыв –