Android SQlite Trigger

时间:2013-03-26 17:26:48

标签: android triggers sqlite android-sqlite

这是一个非常具体的问题。我一直在努力弄清楚所需的步骤,但我无法想出任何有效的方法。

每当“Task”表中的新任务插入数据库时​​,我需要一个触发器,将新记录插入名为Records的表中。我需要为'Items'表中的每个打开项插入一条记录,该记录与任务中的条件相匹配。我的伪代码/尝试声明如下。

CREATE TRIGGER update_item_records ON INSERT INTO tasks
BEGIN
   SELECT item in ITEMS WHERE item.type=new.type AND item.program=new.program
   ....now insert into records - this is where I'm confused
   INSERT  INTO records record.item = item.id, record.program = new.program, 
   record.task=new.id
END

2 个答案:

答案 0 :(得分:2)

忽略触发器内SELECT语句的结果。 但是,INSERT命令accepts a SELECT query as source

INSERT INTO records(item, program, task)
SELECT id, new.program, new.id
FROM items
WHERE type = new.type
  AND program = new.program;

答案 1 :(得分:0)

  

CODE and CONCEPT HERE

procedural code

中发生特定事件时,会执行一些database个触发器
  

考虑trigger这个简单的演示,它在食堂添加了字段   插入新学生后自动和库   学院。

CREATE TRIGGER if not exists add_student   
   AFTER INSERT  
 ON[student]  
   for each row  
     BEGIN  
        insert into library values (2 , new.sid );  
        insert into canteen values (3 , new.sid);  
     END;