使用SQlite,我将大型数据库分为若干年:
DB_2006_thru_2007.sq3
DB_2008_thru_2009.sq3
DB_current.sq3
它们都有一个带有两列(键,数据)的表hist_tbl。
要求是:
1.能够一次访问所有数据。
2.仅插入当前版本。
3.随着时间的流逝,数据将继续分裂。
4.访问是通过具有独占访问权的单个程序进行的。
5.该程序可以接受一些安装SQL,但是在访问一个或多个数据库时需要运行相同的SQL。
要凝聚力地查看它们,请执行以下操作(确实在程序中,但此处显示了命令行):
sqlite3 DB_current.sq3
将数据库'DB_2006_thru_2007.sq3'附加为hist1;
将数据库'DB_2008_thru_2009.sq3'附加为hist2;
创建临时视图hist_tbl为
从hist1.hist_tbl联合中选择*
从hist2.hist_tbl联合中选择*
从main.hist_tbl中选择*;
现在有一个temp.hist_tbl(视图)和一个main.hist_tbl(表)。
当我选择不限定表格的情况时,我将通过视图获取数据。
这是可取的,因为根据我的设置,我可以对联接视图或单个数据库使用罐装sql查询。另外,我总是可以插入main.hist_tbl中。
问题1:有什么缺点?
问题2:有没有更好的方法?
提前致谢。
最佳答案
问题1:有什么缺点?
您必须每隔更新一次视图。财。年。
问题2:有没有更好的方法?
添加日期列,以便您可以搜索给定时间范围内的内容,例如会计年度。
关于sql - 跨多个数据库的SQLite View 。这个可以吗?有没有更好的办法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3808159/