【sql】利用MS—sql写一个触发器,具体如下

sensormsg 2015-08-23 01:42:10
【sql】利用MS—sql写一个触发器,具体如下:
在数据库里面有一个表,表里面有一个状态status,
利用触发器,制定一个时间三天,三天一过这个status就改变。这个怎么实现请教大牛们
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
江南雪_158 2015-08-25
  • 打赏
  • 举报
回复
这是作业的问题,可以通过作业进行解决的
转身@未来 2015-08-23
  • 打赏
  • 举报
回复
wmxcn2000 说的对, 首先在数据库中创建一个存储过程, 然后按照具体要求再设置代理作业运行。
misterliwei 2015-08-23
  • 打赏
  • 举报
回复
举例:

CREATE TABLE TA
  (
     COL1 INT IDENTITY(1, 1),
     COL2 VARCHAR,
     COL3 DATETIME,
     STATUS AS ( CASE
            WHEN Datediff(D, COL3, Getdate()) > 3 THEN 1
            ELSE 0
          END )
  )

GO
INSERT INTO TA VALUES('A', '2015-8-21')
INSERT INTO TA VALUES('B', '2015-8-12')
INSERT INTO TA VALUES('C', '2015-8-19')
INSERT INTO TA VALUES('D', '2015-8-20')
INSERT INTO TA VALUES('E', '2015-8-22')
GO
SELECT *
FROM TA
2015-8-23执行结果: COL1 COL2 COL3 STATUS 1 A 2015-08-21 00:00:00.000 0 2 B 2015-08-12 00:00:00.000 1 3 C 2015-08-19 00:00:00.000 1 4 D 2015-08-20 00:00:00.000 0 5 E 2015-08-22 00:00:00.000 0
misterliwei 2015-08-23
  • 打赏
  • 举报
回复
用计算列 或者 直接查询
卖水果的net 2015-08-23
  • 打赏
  • 举报
回复
这个不是用触发器,要用作业来实现,触发器的你对表的 DML 操作时,才去执行,作业是数据库系统自动的执行,不管你是否对表进行了操作。 1.先创建一个存储过程,把你的业务逻辑全都用语句拼装出来 2.创建一个作业,每隔一定的时间(比如5分钟或 10 分钟)去执行一下这个过程。
sensormsg 2015-08-23
  • 打赏
  • 举报
回复
顶一下自己的帖子!请教大牛

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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