2.学员表(student)
字段 类型 描述 要求
报名流水号(sauto) 整型 方式是自增长
学号(sno) 字符型 学员编号 要求不为空,不重复
姓名(sname) 字符型 学员姓名 要求不为空
生日(sage) 日期类型 学员的出生日期 可以为空
性别(sex) 字符型 学员的性别 不可为空
地址(address) 字符型 学员的地址 默认“不详”
身份证号(id_card) 字符型 学员的身份证号 要求不为空
录入时间(in_date) 日期类型 学员的报名时间 默认是当天
写一个触发器,当操作员试图输入一个重复的身份证号码时,请给出提示,如:“这个学员已经登记过了”。

解决方案 »

  1.   

    create trigger a
    on student
    for insert 
    as
    begin
    if exists(select * from inserted a, student b where  a.id_card=b.id_card)
    begin
    raiserror ('这个学员已经登记过了',16,1)
    rollback
    endend
      

  2.   

    create trigger cfq on student
    for insert
    asif @@rowcount=0 returnif exists(select a.id from inserted a,student b where a.id_card=b.id_card)
    begin
     raiserror('这个学员已经登记过了!',16,1)
     rollback tran
    end