求一个触发器

bleach001 2014-09-19 11:10:39
做一个团购网站本来想着在网站里写一个全局文件每天定点扫描数据库过期的产品,修改状态,但是逼格太低,触发器又不会写,我的想法是写一个查询产品表下的date字段小于getdate() 就修改其状态
请问怎么写呢
...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bleach001 2014-09-20
  • 打赏
  • 举报
回复
引用 4 楼 Tiger_Zhao 的回复:
你把过期状态设计为计算列不就可以了,哪用得着每天更新
ALTER TABLE 产品
    DROP COLUMN 过期状态;

ALTER TABLE 产品
    ADD 过期状态 AS CASE WHEN date<getdate() THEN
                        1
                    ELSE
                        0
                    END;
fei chang gan xie
hleb231 2014-09-19
  • 打赏
  • 举报
回复

update 产品表 set 状态 =' 你要修改成的值' where date<getdate() 
bleach001 2014-09-19
  • 打赏
  • 举报
回复
引用 楼主 bleach001 的回复:
做一个团购网站本来想着在网站里写一个全局文件每天定点扫描数据库过期的产品,修改状态,但是逼格太低,触发器又不会写,我的想法是写一个查询产品表下的date字段小于getdate() 就修改其状态 请问怎么写呢
我觉得触发器有点麻烦 还的改前台代码 现在求一条sql 判断语句 查询如果date小于当前日期 则修改查询出来的数据的状态 然后加到维护计划 每天执行
xiaodongni 2014-09-19
  • 打赏
  • 举报
回复
[quote=引用 4 楼 Tiger_Zhao 的回复:] 你把过期状态设计为计算列不就可以了,哪用得着每天更新
ALTER TABLE 产品
    DROP COLUMN 过期状态;

ALTER TABLE 产品
    ADD 过期状态 AS CASE WHEN date<getdate() THEN
                        1
                    ELSE
                        0
                    END;
[/quo 好办法。
Tiger_Zhao 2014-09-19
  • 打赏
  • 举报
回复
你把过期状态设计为计算列不就可以了,哪用得着每天更新
ALTER TABLE 产品
DROP COLUMN 过期状态;

ALTER TABLE 产品
ADD 过期状态 AS CASE WHEN date<getdate() THEN
1
ELSE
0
END;
KeepSayingNo 2014-09-19
  • 打赏
  • 举报
回复
直接将2楼语句放到job中就行了

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧