非常に大規模なデータベースで実行中の行数を維持する必要があります。私のプログラムでは、Count(*) の実行が遅すぎるほど Row Count が必要なので、SQLITE でこれを回避するために count を実行し続けます。
CREATE TRIGGER RowCountUpdate AFTER INSERT ON LastSample
BEGIN
UPDATE BufferControl SET NumberOfSamples = NumberOfSamples +
(SELECT Count(*) FROM Inserted);
END;
したがって、ここから現在の行数 (NumberOfSamples) を取得し、挿入によって影響を受けた行数を増やします (DELETE とデクリメントでも同じことを行います)。Sqlite の C API では、これは Sqlite3_Changes() で行われます。ただし、このスクリプトではその関数を使用できません。私は周りを見回して、一部が SELECT Count(*) FROM Inserted を使用しているのを見ましたが、Sqlite がそれをサポートしているとは思いません。
INSERT および DELETE クエリの影響を受けた行の量を保持する Sqlite が認識するステートメントはありますか?