现在有两个表,一个是学生表,记录学生ID和名字;另一个表是交费表,记录某个学生交费的金额,时间.
create table T_STUDENT  (
   STUDENT_ID           char(5)                         not null,
   STUDENT_NAME         CHAR(10),
   constraint PK_T_STUDENT primary key (STUDENT_ID)
);create table B_FEES  (
   STUDENT_ID           char(5)                         not null,
   FEESACCOUNT          number(7,2)                     not null,
   FEESDAY              date,
   constraint PK_B_FEES primary key (STUDENT_ID, FEESACCOUNT)
);现在的问题是要做一触发器,实现:从输入中获取ID,姓名,交费时间,交费金额.如果此ID不存在,则向学生表中添加记录;若已经存在,只向交费表中添加记录.

解决方案 »

  1.   

    其实用Procedure也可以实现~~效果也更好~~~
      

  2.   

    使用存储过程好一点阿!
    create or replace Stu_Fee
    (
    stuid in char,
    stuname in char,
    feesaccount in number,
    feesday in date,
    )
    is
      if ( select count(*) from t_student where studentid=stuid ) = 1
      then insert into B_fees values(stuid,feesaccount,feesday)
      else
      insert into t_student values(stuid,stuname);
      insert into b_fees values(stuid,feesaccount,feesday)
    end if
    end
    测试一下,我也是看到了写的。还没有自己测试过,有问题自己修改一下了
      

  3.   

    你表中的学生id号是可以随便手工输入的?或者说是如果是新生,则注册一下?那你在缴费表中做个触发器不就行了?
    btw,你那个id怎么来呀?