2016-09-16 7 views
0

私は自分の状況に使用できる関数であるかどうかを確認しようとしています。私は基本的にSum(A:A)が自動的に更新して合計を返すようなExcelの自動更新機能を模倣したいと考えています。ここに私のスキーマがあります。sqlite変数から自動的に列を更新する方法

.schema 
CREATE TABLE product (id integer, name text, price integer); 
CREATE TABLE sum(total integer); 

価格を合計して合計値に挿入するINSERT/UPDATEコマンドをトリガーしたいとします。私は次のことを試みましたが、構文エラーは私に頭痛を与えています。

CREATE TRIGGER strigger insert on product 
begin 
INSERT into sum(total) values(sum(price) from product); 
end; 

これは正しいアプローチですか?または、sqliteコンソールまたはホスト言語から意図的に更新コマンドを呼び出す必要がありますか? ご協力いただきありがとうございます。

答えて

0

トリガを書くことができるようになります:

CREATE TRIGGER strigger 
AFTER INSERT ON product 
BEGIN 
    UPDATE sum SET total = (SELECT sum(price) FROM product); 
END; 

しかし、多くの場合、オンデマンドで合計を計算するために、良いアイデアのようになります。

CREATE VIEW sum AS 
SELECT sum(price) AS total FROM product; 
+0

いや、私ならば、私は推測しますデータを分析/ソートするだけで、複数のビューを作成するのが簡単です。ご協力いただきありがとうございます – dorachan2010

関連する問題