sqlite:只读数据库中的临时表/视图?
Posted
技术标签:
【中文标题】sqlite:只读数据库中的临时表/视图?【英文标题】:sqlite: temporary table/view in a read-only db? 【发布时间】:2010-08-04 10:21:11 【问题描述】:似乎 sqlite 不允许我在只读数据库中创建临时视图。我错过了什么吗?如果是 TEMPORARY,我认为 db 连接模式应该无关紧要。
我什至指定了“PRAGMA temp_store = MEMORY”——它没有帮助。
是否有合理的替代使用视图?
【问题讨论】:
【参考方案1】:您可以创建一个临时视图来引用主数据库中的数据。
CREATE VIEW temp.userview AS select userid, firstname, lastname from main.usertbl;
然后像这样访问视图...
SELECT * from temp.userview;
【讨论】:
这不适用于pragma query_only = 1
用于数据库连接的情况。 OP 没有说明数据库是如何只读的,但这很重要。如果数据库在文件系统中是只读的和pragma query_only = 0
,则连接确实允许临时视图,至少在 Windows 10 上是这样。以上是关于sqlite:只读数据库中的临时表/视图?的主要内容,如果未能解决你的问题,请参考以下文章