读书人

求高手教菜鸟触发器

发布时间: 2012-06-01 16:46:36 作者: rapoo

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

读书人网 >SQL Server

热点推荐