| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 648 人关注过本帖
标题:[求助]怎么写到达一个时间后就修改记录的触发器
只看楼主 加入收藏
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
 问题点数:0 回复次数:8 
[求助]怎么写到达一个时间后就修改记录的触发器

平时没不常用,不怎么会
我现在需要写的是一个年龄与工龄字段的修改
当日期到达一月一日时,它的年龄与工龄自动增加1.
有点急..希望大家帮忙...谢谢..

搜索更多相关主题的帖子: 触发器 记录 时间 
2006-05-26 17:21
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 

我的想法应该是用作业来完成是吧!
但是我作业以前没用过,有没更好的方法?
大家帮帮忙

[此贴子已经被作者于2006-5-27 17:57:33编辑过]

2006-05-27 15:28
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
收藏
得分:0 
一年才更新一次,手动吧

在企业管理器里可以设置Job的执行计划

2006-05-30 13:32
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 

总算有人给我回话了,
这次又是你,我现在也是用作业来完成的.
以前没想到这么多.
是呀..就是要一年,
年龄嘛!
谢谢你
2006-05-30 15:37
北方的老狼
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-4-25
收藏
得分:0 

能详细讲一下整个过程吗
很感兴趣。。
如果是现在日期是GETDATE()
怎样随时查看是否年龄正好周岁?
如。。某人。。82年。。5-31日出生。。
明天的年龄从今天的23岁。。自动变成24岁。。
怎么完成这个功能?

2006-05-31 12:49
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
收藏
得分:0 

begin tran

create table #temp1
(
name varchar(10),
birthday smalldatetime
)

insert into #temp1
select
'Peter','1980-5-30'
union
select
'Cathy','1980-5-31'
union
select
'Nancy','1980-6-1'

select *
from #temp1

select name,
case
when datepart(m,getdate())>datepart(m,birthday)
then datediff(year,birthday,getdate())
when datepart(m,getdate())=datepart(m,birthday) and datepart(d,getdate())>=datepart(d,birthday)
then datediff(year,birthday,getdate())
when datepart(m,getdate())=datepart(m,birthday) and datepart(d,getdate())<datepart(d,birthday)
then datediff(year,birthday,getdate())-1
when datepart(m,getdate())<datepart(m,birthday)
then datediff(year,birthday,getdate())-1
end as Age
from #temp1

rollback tran

你可以把最后一个查询建立成一个视图
Case条件应该可以进一步统合一下,如果觉得有必要的话你自己研究一下好了,顺便说一下,本来我考虑用datepart的dy参数,但是考虑到对于闰年可能会出问题(没有测试,纯属想象)。所以用了这个比较复杂条件选择


2006-05-31 13:19
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 

这以复杂呀..

算了.我还是用作业来完成这个功能吧!!
不过还是谢谢

2006-05-31 16:38
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
收藏
得分:0 

只不过是多叉条件判断而已,并不复杂

前面一半是建立一个测试用的临时表,后面一个查询是按照北方的老狼的意思写的查询语句,并不适合你用

你的场合不需要判断应该说更简单,但是你要对表更新,所以没有办法,其实用View来处理就可以了。


2006-05-31 16:55
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 
以下是引用LouisXIV在2006-5-31 16:55:00的发言:

只不过是多叉条件判断而已,并不复杂

前面一半是建立一个测试用的临时表,后面一个查询是按照北方的老狼的意思写的查询语句,并不适合你用

你的场合不需要判断应该说更简单,但是你要对表更新,所以没有办法,其实用View来处理就可以了。

不懂...
惭愧了...我大学的时候还是数据库专业的呢!!!
晕死..自杀去了
你强

2006-05-31 17:34
快速回复:[求助]怎么写到达一个时间后就修改记录的触发器
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019056 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved