【问题标题】:sql server procedure for auto alert用于自动警报的 sql server 过程
【发布时间】:2018-02-06 18:08:50
【问题描述】:

我正在学习存储过程,我有一个名为 my.work 的表名,在表中我有列名状态、日期和时间 使用选择查询,我可以获得所有状态 = 就绪以及日期 = 2-6-2018 的位置。

现在我的问题是我需要编写一个程序来检查三个条件(状态/日期/时间),如果条件匹配,那么它将在 15 分钟前触发一封自动电子邮件警报。

状态日期时间 准备好 2018-02-06 00:00:00.000 16:00

你能请人帮我吗?

【问题讨论】:

标签: sql-server


【解决方案1】:

日期比较应该在日期之间进行。

create table #mywork(WorkStatus varchar(50), WorkDate date, WorkTime time )

insert into #mywork(WorkStatus,WorkDate,WorkTime)values('ready','2018-02-06', '16:00')
insert into #mywork(WorkStatus,WorkDate,WorkTime)values('ready','2018-02-06', '17:00')
insert into #mywork(WorkStatus,WorkDate,WorkTime)values('ready','2018-02-07', '16:00')
insert into #mywork(WorkStatus,WorkDate,WorkTime)values('ready','2018-02-07', '17:00')



select *,cast('06-02-2018' as date) from #mywork where workstatus='ready' and workDate=cast('02-06-2018' as date) and worktime=cast('16:00' as time); 

另外我会建议你不要使用 SQL 关键字作为你的表列名。

【讨论】:

    猜你喜欢
    • 2021-04-17
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多