+ -
当前位置:首页 → 问答吧 → sql疑难存储过程,在线等~

sql疑难存储过程,在线等~

时间:2011-12-16

来源:互联网

项目需求为对监视程序表中startmonitor为True的程序进行监视,programviewhistory表中的计划执行时间由monitorprogram中程序执行规则planschedule及表中表示有关时间的字段来计算。
1.监视程序表(monitorprogram)
字段 类型 说明 是否为空
id int 程序标识,主键 否
programname nchar(20) 程序名称 否
programDescription Nvarchar(200) 功能描述 null
planschedule char(1) 程序安排日程,O表示每天到点执行,R表示从开始时间到结束时间段每隔n分钟执行, 否
untilTime int 到点执行时间,格式 hhmm 时、钟整数形式表示 null
Interval Int 每隔n分钟,默认为0 null
starttime int 开始时间,格式 hhmm 时、钟整数形式表示 否
endtime int int 结束时间,格式 hhmm 时、钟整数形式表示 否
startmonitor bit 0表示不监视,1表示启动监视 否

程序运行历史状态表(programviewhistory)
字段 类型 说明 是否为空
id int 主键 否
programId int 程序标识,外键 否
Planstarttime datetime 计划执行时间 否
runStatus SmallInt 程序运行状态
  (0未执行(默认),1.正在执行2.执行成功,3执行失败,4过点未执行 否
runTime datetime 程序运行时间 是
createTime datetime 记录时间 否


需求的存储过程:
扫描器的功能:
a.检查未执行的到点记录,将记录改为 过点未执行,维护状态改为maintainstatus =2 
b.跟据<监视程序到> 添下一次执行记录到 <程序运行历史状态表>,

作者: Catherine_lele   发布时间: 2011-12-16

用触发器.
用触发器在monitorprogram 表startmonitor 列值发生改变时,向programviewhistory表写入内容.

作者: qianjin036a   发布时间: 2011-12-16

触发器 等楼下写 楼下不写我再写。

作者: fredrickhu   发布时间: 2011-12-16

楼下不写俺也不写了.让楼主自己写吧.

作者: qianjin036a   发布时间: 2011-12-16

汗~俺不会触发器呀~听着就很高深。

作者: Catherine_lele   发布时间: 2011-12-16