SQLite3にテーブルにデータが追加insert時トリガーを作成する方法

環境
Windows 10 Home 64bit
sqlite 3.37.0

構文
テーブルに対してINSERTが行われた時にトリガーを設定します。

CREATE TRIGGER トリガー名 INSERT 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 triggerinsert insert on item
   ...> begin
   ...> insert into news(title) values('insert trigger opeartion 111');
   ...> end;

3.itemsテーブルへデータを追加します

sqlite> insert into item values(1234, 'yamada', 28);

itemテーブルへデータが追加すると同時にトリガーが起動してnewsテーブルにデータを追加します。

4.newsテーブルを確認します。

sqlite> select * from news;
1|insert trigger opeartion 111

 

SQLite

Posted by arkgame