2013-05-04 30 views
0

我有n个表格,创建触发器来更改多个表格

并且每个表格共享一个共同列'COLX'。并且每个表的COLX列在该列中可以有独立的值,但是当有人在主表T的COLX中更改值时,必须使用T的COLX中的新值更新每个表的相应COLX值。

我只能写一个表的触发器,如何写这个n表?

+0

是多余的。为什么即使有这些列,如果他们都与主表中一样? – 2013-05-04 10:49:59

+0

不在我的情况下,它们不一样,直到有人在主表T中更改。在主表T中的任何更新之前,每个子表在COLX列中可以具有不同的值。 – unkn0wn 2013-05-04 10:53:28

回答

0

通过表COLXCascade你的触发器,

表1将触发更新表2,然后 表2可以运行触发器影响表3

CREATE TABLE table1 (COLX INT NOT NULL, 
       PRIMARY KEY (id) 
); 

CREATE TABLE table2 (id INT, COLX INT, 
    INDEX par_ind (parent_id), 
    FOREIGN KEY (COLX) REFERENCES table1(COLX) 
     ON UPDATE CASCADE 
) 
+0

你能告诉我一个触发级联的简单例子吗? – unkn0wn 2013-05-04 10:56:57

+0

我已经为你添加了一个例子。 – Chris 2013-05-04 11:08:02