日期:2014-05-19  浏览次数:20692 次

请问怎样利用触发器实现删除一个表中的一条记录之前把这条记录添加到另一个表中?
例如:
   
入住单表:

入住单号       顾客姓名         性别           证件号码             抵店时间       预住天数
001                     张三             男                 20203                 2007-2-17           3
002                     李四             男                 20205                 2007-2-15           7

入住历史表:

入住单号       顾客姓名         性别           证件号码             抵店时间       离店时间
  001                   王五               男               20236                 2007-1-12     2007-2-2

现要利用触发器实现在删除入住单表中任一条记录之前,将这条记录添加到入住历史表中,两表最后一个字段不同.   只要将入住单表前面字段的记录加入入住历史表中,入住历史表最后一个字段的记录就等于执行该项操作(即触发器运行时)的时间.

望大家多多指教@!!!!

------解决方案--------------------
--入住历史表的字段《离店时间》可以设置默认值为getdate()

--触发器
create trigger tt on 入住单表
for delete
as
begin
insert into 入住历史表(入住单号,顾客姓名,性别,证件号码,抵店时间)
select 入住单号,顾客姓名,性别,证件号码,抵店时间
from deleted
end
------解决方案--------------------
create trigger a on 入住单表 for delete as
insert into 入住历史表 select 入住单号,顾客姓名,性别,证件号码,抵店时间,离店时间=getdate() from deleted
go