2016-06-21 16 views
0

既に知っている(またはそうでないかもしれない)ので、SQLiteはクエリの結果の総数に関する情報を提供しません。行数を取得するには、クエリをSELECT count(*) FROM (original query);にラップする必要があります。関数で指定されたクエリでSQLiteの結果が返される

INSERTを別の無関係のテーブルに作成するカスタムSQL関数(SQLiteで独自の関数を定義することができます)を作成するまで、これは私にとっては問題なく機能しました。次にクエリを実行します。

SELECT customFunction() FROM primaryTable WHERE primaryKeyColumnId = 1; 

クエリは常に1行を返します。 customFunction()が2回呼び出されたことが判明しました。これは、私のアプリケーションがusuallというクエリを呼び出してから、そのクエリでcount(*)をフォローアップとして呼び出したためです。

どのようにこの問題にアプローチしますか?どのように元のクエリだけを実行し、まだSQLiteからの行数を持っている?

私はSQLite(3.13.0)C APIを使用しています。

答えて

0

このような関数呼び出しをクエリから削除するか、すべての結果行を実際に実行する前に行数を取得できません。

関連する問題