SQLite3にテーブルにデータが更新update時トリガーを作成する方法
環境
Windows 10 Home 64bit
sqlite 3.37.0
構文
テーブルに対してUPDATEが行われた時にトリガーを設定します。
CREATE TRIGGER トリガー名 UPDATE OF カラム名 ON テーブル名 BEGIN SQL文1; SQL文2; xxx END;
操作方法
1.テーブルitemを作成します
sqlite> create table item(uid integer, uname text, price integer);
テーブルnewsを作成します
sqlite> create table news(uid integer primary key, title text);
2.itemテーブルにデータが更新時にトリガーが起動し、newsテーブルのtitleカラムにデータを記録します。
更新トリガーの作成
sqlite> create trigger triggerupdate update on item ...> begin ...> insert into news(title) values('update trigger opeartion 222'); ...> end;
3.itemsテーブルへデータを追加します
sqlite> insert into item values(666, 'yamada01', 29);
4.itemテーブルへ追加したデータを一部更新します
sqlite> update item set uname = 'oosaki' where uid = 666;
itemテーブルのデータが更新されると同時にトリガーが起動してnewsテーブルにデータを追加しています。
5.更新トリガーの内容を確認します
sqlite> select * from news; 1|insert trigger opeartion 111 2|insert trigger opeartion 111 3|update trigger opeartion 222