+ -
当前位置:首页 → 问答吧 → 如何在表中,当达到某条件是自动给列赋值!!!

如何在表中,当达到某条件是自动给列赋值!!!

时间:2011-11-28

来源:互联网

比如 一张 评价表 中有一列为判断是否已经评价了,未评价 设为 0,已经评价,设为 1

当超过7天后 自动 把是否需要评价 这列 值自动设置为 1  



这在数据库中能直接实现吗?还是需要 在程序里面操作?

作者: lamparded   发布时间: 2011-11-28

SQL code
用Job設置


企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)" --如:下面的SQL腳本
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
                       更新語句

--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排  

作者: roy_88   发布时间: 2011-11-28

做个定时JOB
定期检查
符合就打上标志

作者: sql_sf   发布时间: 2011-11-28

各种判断的就写在程序里面吧 
分支什么的都好处理 程序本来就是做这个的....
数据库存数据就可以了 

作者: yhui1989love   发布时间: 2011-11-28

SQL code
update table1
set Col=1
where Col=0 and datediff(dd,Date,getdate())>7 --不計算今日

作者: roy_88   发布时间: 2011-11-28

可以用可以使用SQL Server的作业功能来做这件事

作者: Lavender_   发布时间: 2011-11-28

SQL code
update a set col=1 from 评价表 a where datediff(dd,时间字段,getdate())>=7

作者: fredrickhu   发布时间: 2011-11-28

SQL code
update a set col=1 from 评价表 a where datediff(dd,时间字段,getdate())>=7 and col=0

作者: fredrickhu   发布时间: 2011-11-28

1、可以用程序写,如果是Asp.net项目,可以在Global.asax中的Application_Start方法中处理
2、可以用sqlserver的作用处理,用作业处理比较简单

作者: koumingjie   发布时间: 2011-11-28

引用 8 楼 koumingjie 的回复:
1、可以用程序写,如果是Asp.net项目,可以在Global.asax中的Application_Start方法中处理
2、可以用sqlserver的作用处理,用作业处理比较简单


2、用作业处理

作者: koumingjie   发布时间: 2011-11-28

作者: qiang0326   发布时间: 2011-11-28