首页 新闻 会员 周边

求救,数据库中这样的修改操作怎么实现

0
悬赏园豆:15 [已解决问题] 解决于 2013-06-07 01:42

有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,怎么处理?

飞鸟_Asuka的主页 飞鸟_Asuka | 菜鸟二级 | 园豆:209
提问于:2013-05-25 13:30
< >
分享
最佳答案
0

对A表建一个update触发器就好了。。即A改变后,就修改B表。

http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html

收获园豆:8
滴答的雨 | 老鸟四级 |园豆:3660 | 2013-05-25 13:34

突然又想到一个问题……item_a和item_b是允许重复的。如果对应一个item_a有不同的id_a怎么处理?

飞鸟_Asuka | 园豆:209 (菜鸟二级) | 2013-05-25 15:08

@飞鸟_Asuka: 要么C#代码控制,要么建一个instead of insert触发器去做约束判断

滴答的雨 | 园豆:3660 (老鸟四级) | 2013-05-25 16:20
其他回答(1)
0

http://www.cnblogs.com/hechunming/archive/2013/05/13/3075725.html

哥们用触发器,很好实现的。你稍微改一下逻辑就可以了。

收获园豆:7
AStronghcm | 园豆:313 (菜鸟二级) | 2013-05-28 15:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册