そのため、複数のデータベースをアタッチしてから、さまざまなデータベースのすべての仮想テーブルを組み合わせた TEMP VIEW を作成しています。
theDatabase.execSQL("CREATE TEMP VIEW virtualView AS SELECT * FROM Virtual_Sites UNION SELECT * FROM db1.Virtual_Sites UNION SELECT * FROM db2.Virtual_Sites");
この VIEW で MATCH クエリを使用することは可能ですか?
theDatabase.rawQuery(SELECT * FROM virtualView WHERE all_text MATCH 21033, null)
現在、このエラーが発生しています。
sqlite returned: error code = 1, msg = statement aborts at 46: [SELECT * FROM virtualView WHERE all_text MATCH 21033] unable to use function MATCH in the requested context, db=xxx
exception: SQL logic error or missing database; query: SELECT * FROM virtualView WHERE all_text MATCH 21033
この方法で VIEW を作成すると、基になるテーブルのインデックスが継承されないことを読みましたが、これが MATCH を実行できない理由ですか? もしそうなら、回避策はありますか?
ありがとう