他のデータベースが接続されているSqliteデータベースにVIEW(一時的なビューではない)を作成することは可能ですか?ビューは、結合されたテーブルを介してすべてのデータベースのデータにアクセスできる必要があります。
5360 次
1 に答える
14
いいえ、ビューは一時的なものである必要があります。そうでない場合、エラーが発生します。
sqlite> create view view1 as select * from db2.foo union select * from main.foo;
Error: view view1 cannot reference objects in database db2
sqlite> create temp view view1 as select * from db2.foo union select * from main.foo;
sqlite> select * from view1;
...
temp
一時ビューは、現在のプロセスにのみ存在する自動的に作成されたデータベースの一部であるため、これは理にかなっています。
編集:
次の方法で、一時テーブルとビュー(すべて自動的に作成されたtemp
データベースに格納されている)を一覧表示できます。
sqlite> .headers on
sqlite> select * from sqlite_temp_master;
type|name|tbl_name|rootpage|sql
view|view1|view1|0|CREATE VIEW view1 as select * from db2.foo union select * from main.foo
ビューのみを一覧表示するには:
select * from sqlite_temp_master where type='view';
于 2012-05-02T08:31:51.247 に答える