日期:2014-05-18  浏览次数:20508 次

求高手教初学者触发器
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 employee

for delete

as

begin

  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 mylog

drop trigger Del
————————————————————————————
中的 select @maxID=isnull(max(id),0) from mylog

  select @maxID=@maxID+1

  insert into mylog values(@maxID,current_user,getdate(),'delete') 
这几句什么意思,求高手解释一下



------解决方案--------------------
SQL code

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')
--向这个表中添加一条记录

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

SQL code

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(……