2014-03-04 72 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

非常感謝:) –