首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一个触发器的有关问题,请们帮忙

2012-03-07 
一个触发器的问题,请大虾们帮忙我想在SQLserver增加一个触发器具体功能如下:数据表:1小张小王501002007-1-

一个触发器的问题,请大虾们帮忙
我想在SQL   server增加一个触发器具体功能如下:

数据表:

1   小张   小王   50   100   2007-1-1   12:00:09.578  
1   小李   小红   50   100   2007-1-1   11:58:16.678  
1   小宫   小涛   50   100   2007-1-1   12:58:06.121  
1   小张   小王   50   100   2007-1-1   12:57:05.458  
。。。。

现在的问题是当我新增加一条记录时
1   小张   小王   50   100   2007-1-1   12:03:34.001  
如何设置一个触发器根据时间判断删除小于当前时间即( <12:03:34.001   ),同时字段为小张和小红的旧记录呢,谢谢



[解决办法]

create table T(col1 int, col2 varchar(10), col3 varchar(10), col4 int, col5 int, col6 datetime)
insert T select 1, '小张 ', '小王 ', 50, 100, '2007-1-1 12:00:09.578 '
union all select 1, '小李 ', '小红 ', 50, 100, '2007-1-1 11:58:16.678 '
union all select 1, '小宫 ', '小涛 ', 50, 100, '2007-1-1 12:58:06.121 '
union all select 1, '小张 ', '小王 ', 50, 100, '2007-1-1 12:57:05.458 '

create trigger tr on T
for insert
as
delete T
from inserted as tmp
where T.col2=tmp.col2 and T.col3=tmp.col3 and T.col6 <tmp.col6

insert T select 1, '小张 ', '小王 ', 50, 100, '2007-1-1 12:03:34.001 '

select * from T

--result
col1 col2 col3 col4 col5 col6
----------- ---------- ---------- ----------- ----------- ------------------------------------------------------
1 小李 小红 50 100 2007-01-01 11:58:16.677
1 小宫 小涛 50 100 2007-01-01 12:58:06.120
1 小张 小王 50 100 2007-01-01 12:57:05.457
1 小张 小王 50 100 2007-01-01 12:03:34.000

(4 row(s) affected)

[解决办法]
字段名称无关!

热点排行