sql server update 的一点问题:根据相应列的元素大小改变对应列的值
平台:sql server 2000
问题描述:
-- 根据学生选课的人数修改教材选用的数量,数量为学生人数加 2
其中学生表与教材选用表分开,只需提供一般化的方法就可以了,或者给个怎么做的方向就行!
谢谢!!!! sql
[解决办法]
三个表,学生表,选课表,教材表。
在选课表上添加触发器,添加或者删除选课记录时,更新教材表中数量。
update 教材选用表
set 数量 = (select count(c.学生) * 2
from 课程教材表 b
inner join 学生选课表 c
on b.课程 = c.课程
where 教材选用表.教材 = b.教材
)
update Books
set Bcount = (select count(c.Sno) * 2
from Course b
inner join Student c
on b.Cno = c.Cno
where Books.Bno = b.Bno
)