2011-04-14 55 views
3

我有一个数据库模式,在文件1.sqlitedb到n.sqlitedb中是相同的。我使用视图来“合并”所有数据库。我的问题是:当我插入到视图中,数据插入到哪个数据库中?有没有什么方法可以控制哪些获取数据?我需要分割数据的方式取决于数据本身。基本上,我使用字段的第一个字母来确定它插入的文件。任何帮助,将不胜感激。谢谢!如何插入sqlite视图工作?

+0

为什么要将数据分成多个文件?在sqlite中没有对文件大小的实际限制。 – 2011-04-14 09:57:16

+0

我不认为你可以。尝试使用表达式代替要插入的数据库名称,但我担心它会出现语法错误。 – 2011-04-14 09:57:44

+0

这些字母是驱动器号。数据库是独立的可移动数据库的组合,因此文件位于不同的驱动器上 – chacham15 2011-04-14 10:19:02

回答

0

我不确定我是否理解你的问题,但你有没有使用ATTACH DATABASE命令?它允许您将单独的数据库文件连接到单个数据库。您可以通过在数据库名称前面插入(INSERT INTO db1.Table)来将INSERT控制到特定数据库中。

http://www.sqlite.org/lang_attach.html

0

我们需要在视图(VIEW_NAME)上实现而不是触发器。所以当插入/更新发生视图。我们可以将更新底层对象(TABLE_NAME)插入到触发器主体中。 (NEW:COLOR1,COLOR2)的值插入到TABLE_NAME(col1,col2)值(:new.col1,:new.col2)中;然后在CREATE_NAME中插入TABLE_NAME(col1,col2) END;