下面这个触发器是错误的,请问怎么改
create trigger gxzt on cardetail
for update
as
insert jilu_table(carid,jingdu,weidu,tras_time)
select carid,jingdu,weidu,tras_time from deleted
~~~~~~~~~~~~关键是这错,
表cardetail中是更新数据
而不是删除
create trigger gxzt on cardetail
for update
as
insert jilu_table(carid,jingdu,weidu,tras_time)
select carid,jingdu,weidu,tras_time from deleted
~~~~~~~~~~~~关键是这错,
表cardetail中是更新数据
而不是删除
for update
as
insert jilu_table(carid,jingdu,weidu,tras_time)
select carid,jingdu,weidu,tras_time from inserted
不怎么对,这儿是update 而不是insert
当对表cardetail中某条记录的某个字段更新的时候,
先把这条记录中的某些字段(carid,jingdu,weidu,tras_time)转存到表jilu_table中去,
目的就是要把更新前的数据转存到表jilu_table中去
更新同时存在inserted和deleted,inserted里的是更新后的数据,deleted里的是更新前的数据
--触发器里有2个虚拟表,
--一个是inserted,放的是本次insert操作新增的数据或update更新后的数据。
--一个是deleted, 放的是本次delete操作删除的数据或update操作更新前的数据。
如果你要把cardetail更新前的数据放到jilu_table,你的触发器是没问题的。