| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 717 人关注过本帖
标题:请aei135老师进——关于一个日期比较的触发器。
只看楼主 加入收藏
arook
Rank: 1
等 级:新手上路
帖 子:45
专家分:7
注 册:2010-10-21
结帖率:94.12%
收藏
已结贴  问题点数:70 回复次数:3 
请aei135老师进——关于一个日期比较的触发器。
请问aei135老师:
    table1
 ID      PLANDATE
001     2010-12-20

我想做一个触发器,如果PLANDATE字段小于系统当天的日期,那么就改成系统当天的日期。
图片附件: 游客没有浏览图片的权限,请 登录注册

 我知道 select @sdate=select getdate()是错的,但是我不知道怎么弄才行~~
搜索更多相关主题的帖子: 触发器 老师 
2010-12-21 17:42
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
收藏
得分:60 
你的PLANDATE什么字段类型的啦?我下面的是PLANDATE VARCAR(10)
方法一:
create trigger sdate
on table1
for update,insert
as
set nocount on
declare @sdate varchar(10)
select @sdate=convert(varchar(10),getdate(),120)
update table1 set plandate=case when inserted.plandate<@sdate then @sdate else inserted.plandate end
from table1,inserted where table1.id=inserted.id
方法二:
create trigger sdate
on table1
for update,insert
as
set nocount on
declare @sdate varchar(10)
select @sdate=convert(varchar(10),getdate(),120)
update table1 set plandate=@sdate
from table1,inserted where table1.id=inserted.id
and inserted.plandate<@sdate
2010-12-22 10:11
juejitianya
Rank: 4
等 级:业余侠客
威 望:3
帖 子:44
专家分:272
注 册:2009-9-11
收藏
得分:10 
"select @sdate=select getdate()"
应该调整为“select @sdate = getdate()”或者“set @sdate= getdate()”
2010-12-22 11:09
arook
Rank: 1
等 级:新手上路
帖 子:45
专家分:7
注 册:2010-10-21
收藏
得分:0 
多谢aei135老师,
测试了第一个,OK

业精于勤
2010-12-22 17:32
快速回复:请aei135老师进——关于一个日期比较的触发器。
数据加载中...
 
   



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

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