2014-03-04 71 views
0

我想在SQLite中编写触发器。SQLite触发器更新

可以说我有2个表A和B

计算机

int id 
int foo1 

键盘

int id 
int computerId (foreign key) 
int foo2 

我想写一个触发器,它更新键盘 foo1时Comput呃 foo2已更新。

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

我该如何得到更新计算机ID为哪里命令?有人能帮助我完成命令吗?

回答

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

+0

非常感谢:) –