create table students(no number(4),name varchar(10),sex varchar(4) age number(4));
create table detail(no number(4),subject varchar(10),score number(4));其中no是学号,关联两个表,性别有两个字段m和f,科目有三个字段chinese,english,math,现在要插入一条新的学生信息。姓名是张三,男,15岁,学号是21,考试成绩为语文80,外语60,数学90。最后在删除这条字段,请问如何使用一条sql语句来实现这两个要求?

解决方案 »

  1.   

    insert into students
    select 21,'张三','男',15insert into detail
    select 21,'语文',80
    union all select 21,'外语',60
    union all select 21,'数学',90GO
    create trigger td_students on students
    for delete
    as
    delete from detail where no in (select no from deleted)
    GOdelete from students where no=21
    如果必须使用一条语句插入或删除的话,做个存储过程,只需执行一下存储过程就可以了.
      

  2.   

    谢谢,使用一条纯sql语句不能做到吗?
      

  3.   

    用exec行不?
    exec('insert into students
    select 21,''张三'',''男'',15
    insert into detail
    select 21,''语文'',80
    union all select 21,''外语'',60
    union all select 21,''数学'',90')exec('delete from students where no=21
    delete from detail where no=21')