有ABC三张表。A中有id_a, item_a 两个属性,B中有id_b, item_b两个属性,C中有id_c, id_a, id_b, item_c四个属性,其中id_a,id_b都是A和B的外键。
查找C表时不显示A和B的id,而是显示他们的item。对应SQL语句如下:
SELECT C.id_c, A.item_a, B.item_b, C.item_c FROM A INNER JOIN C ON A.id_a = C.id_a INNER JOIN B ON B.id_b = C.id_b
修改的时候,我想直接通过修改item_a和item_b的值,修改后的C表的id_a, id_b 对应修改为item_a和item_b所对应的id_a和id_b,怎么处理?
对A表建一个update触发器就好了。。即A改变后,就修改B表。
http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html
突然又想到一个问题……item_a和item_b是允许重复的。如果对应一个item_a有不同的id_a怎么处理?
@飞鸟_Asuka: 要么C#代码控制,要么建一个instead of insert触发器去做约束判断