在sqlite3中循环变量

loop with variable in sqlite3

我正在使用 SQLite Expert Personal 3 为 sqlite 数据库访问和编写 sql 脚本。 我有 30 个 sqlite 数据库,它们具有我想要合并的相同结构。 我使用以下 script.The 主数据库将 id 作为自动增量。

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

如有必要,我还可以轻松地使用文件名创建数据库。

这是否可以在 $variable 是文件名的循环中完成,这样我就不必编写相同的脚本 30 次?

谢谢,请原谅菜鸟问题:)

是的,一种脚本语言可以用来编写 30 次,因此您不必这样做。 这是一个使用 perl 的示例,尽管许多语言都可以做类似的事情。

在每次循环中,格式说明符 %04d 都会使十进制值 $variable 出现在宽度为 4 的字段中,并用零填充左侧。

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);
}