create table mylog(    id int not null primary key,    uid char(10) not null,    operateDate datetime not null,type varchar(20) not null)…………………………create trigger Del on employeefor deleteasbegin   declare @id int,@maxID int   select @maxID=isnull(max(id),0) from mylog   select @maxID=@maxID+1   insert into mylog values(@maxID,current_user,getdate(),'delete') end……………………….delete from employee where emp_no='E1002'select * from mylogdrop trigger Del
————————————————————————————
中的 select @maxID=isnull(max(id),0) from mylog   select @maxID=@maxID+1   insert into mylog values(@maxID,current_user,getdate(),'delete') 
这几句什么意思,求高手解释一下

解决方案 »

  1.   


    select @maxID=isnull(max(id),0) from mylog
    ---查询mylog中最大值的id,如果是NULL话,就为0
      select @maxID=@maxID+1
    ---个@maxID这个参数+1  insert into mylog values(@maxID,current_user,getdate(),'delete')
    --向这个表中添加一条记录????你问得是这玩意???
      

  2.   

    把mylog中最大的id,如果查询到的最大的id为null就用0 代替,然后把这个值赋给变量@maxID
    在让变量@maxID自增加1,在把数据插入到表mylog 中。其中getdate()表示系统当前时间
      

  3.   

    这里为什么要求id的最大值,还有那个'delete'是什么意思,谢谢!!
      

  4.   


    for delete 是delete触发器,只有在删除时触发。另外还有insert触发器和update触发器求id最大值的原因,是因为id是mylog中的主键,每次取最大值可以避免主键重复