大致是这样的需求:
学生表(学号,姓名,标志)
成绩表(学号,科目,成绩)
档案表(姓名,科目,成绩)
当学生表的“标志”被修改为1后,查出成绩表里的各科成绩,并将信息插入档案表。
mysql语法太生涩了,在触发器里定义一个游标都出错。create trigger trig123 after update on 学生表 for each row 
begin 
if new.标志 == 1 THEN
declare listcur cursor for select * from 成绩表 where 学号=new.学号;
open listcur;
close listcur;
end if;
end

解决方案 »

  1.   

    create trigger trig123 after update on 学生表 for each row 
    begin 
    if new.标志 = 1 THEN
    insert  档案表(姓名,科目,成绩)
    select A.姓名,B.科目,B.成绩
    from 学生表 A,成绩表B
    where A.学号=B.学号 and 学号=new.学号;
    end
      

  2.   


    create trigger update_xs after update on 学生表 
    for each row 
    begin 
    if new.标志 = 1 then
    insert into 档案表(姓名,科目,成绩)
    select A.姓名,B.科目,B.成绩
    from 学生表 A,成绩表B
    where A.学号=B.学号 and A.学号=new.学号;
    end if;
    end