条件2个表:
表A
ID 科目编号 科目名称
1 01 语文
2 02 数学
3 03 英语
表B
ID 科目编号 科目名称 学生编号 分数
01 01 语文 001 50
02 02 数学 001 60
03 03 英语 001 85
04 01 语文 002 70
05 02 数学 002 89
06 03 英语 002 95
如表A添加一条内容为: 4 04 化学
那么如何更新表B,每个学生多一条表A新增内容,并设置分数为0, 请各帮忙写出代码,谢谢!
------解决思路----------------------
a表上建个insert的触发器。
insert into b
select a.*,b.学生编号,0 as 分数 from inserted a ,(select distinct 学生编号 from b ) b
------解决思路----------------------
INSERT INTO 表A VALUES(4,'04','化学')
-- 表B.ID 应该是自增列
INSERT INTO 表B (科目编号,科目名称,学生编号,分数)
SELECT a.科目编号, a.科目名称, b.学生编号, 0
FROM 表A a,
(SELECT DISTINCT 学生编号 FROM 表B) b
WHERE a.ID = 4
------解决思路----------------------
insert into b
select '04','化学',b.[学生编号],'0' from
(select distinct 学生编号 from b ) b