SQLite触发器更新

时间:2014-03-04 09:56:30

标签: android sqlite triggers

我想在SQLite中编写一个触发器。

假设我有2张表A和B

计算机

int id   
int foo1

键盘

int id  
int computerId (foreign key)  
int foo2

我想编写一个触发器,在计算机 foo2更新时更新键盘 foo1。

 CREATE TRIGGER update_trigger 
    AFTER UPDATE OF foo1 ON  Computer  FOR EACH ROW 
    BEGIN
      UPDATE Keyboard  
         SET foo2 = 'someValue' 
           WHERE computerId = ???? ;
     END;

如何获取更新计算机ID for where命令?有人可以帮我完成命令吗?

1 个答案:

答案 0 :(得分:3)

SQLITE具有NEW和OLD引用,您可以使用它们从更新中获取当前或以前的值。鉴于您的要求可能是可用的。

 CREATE TRIGGER update_trigger 
    AFTER UPDATE OF foo1 ON  Computer  FOR EACH ROW 
    BEGIN
      UPDATE Keyboard  
         SET foo2 = 'someValue' 
           WHERE computerId = OLD.id ;
     END;

参见 http://www.sqlite.org/lang_createtrigger.html