注册

如何定时执行函数?

blueberry 2024/03/25 540 6 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:达梦8
【操作系统】:
【CPU】:
【问题描述】*:我创建了一个存储函数,如何设置任务执行事件?一下是函数?
CREATE PROCEDURE getAlarmResultStats() AS
begin

INSERT
INTO
TestModel_algo_result_device(ipcId,
name,
status,
installType,
date,
identify,
org,
noRepeatCnt,
repeatTrueCnt,
repeatFalseCnt,
totalCnt)
SELECT
id,
name,
status,
installType,
DATE_FORMAT(NOW(),'%Y-%m-%d') date,
identify,
org,
SUM(noRepeatCnt)noRepeatCnt,
SUM(repeatTrueCnt)repeatTrueCnt,
SUM(repeatFalseCnt)repeatFalseCnt,
SUM(noRepeatCnt + repeatTrueCnt + repeatFalseCnt) AS totalCnt
FROM
(
SELECT
id,
name,
status,
installType,
DATE_FORMAT(NOW(),'%Y-%m-%d') date,
identify,
org,
CASE WHEN noRepeatCnt>0 THEN noRepeatCnt ELSE 0 END noRepeatCnt,
0 AS repeatTrueCnt,
0 AS repeatFalseCnt
FROM
tb_ipcDevice ipc
LEFT JOIN (
SELECT
cam_id,
count(1) AS noRepeatCnt
FROM
tb_algoHistory ah
WHERE
ah.alarm_time >= CONCAT(date_format(NOW(), '%Y-%m-%d'), ' 00:00:00') AND ah.alarm_time < CONCAT(date_format(NOW(), '%Y-%m-%d'), ' 23:59:59')
GROUP BY
ah.cam_id) b ON
ipc.identify = b.cam_id
UNION ALL
SELECT
id,
name,
status,
installType,
DATE_FORMAT(NOW(),'%Y-%m-%d') date,
identify,
org,
0 AS noRepeatCnt,
CASE WHEN repeatCnt>0 THEN repeatCnt ELSE 0 END repeatTrueCnt,
0 AS repeatFalseCnt
FROM
tb_ipcDevice ipc
LEFT JOIN (
SELECT
cam_id,
count(1) AS repeatCnt
FROM
tb_algoRepeat ah
WHERE
ah.alarm_time >= CONCAT(date_format(NOW(), '%Y-%m-%d'), ' 00:00:00') AND ah.alarm_time < CONCAT(date_format(NOW(), '%Y-%m-%d'), ' 23:59:59')
GROUP BY
ah.cam_id) b ON
ipc.identify = b.cam_id
UNION ALL
SELECT
id,
name,
status,
installType,
DATE_FORMAT(NOW(),'%Y-%m-%d') date,
identify,
org,
0 AS noRepeatCnt,
0 AS repeatTrueCnt ,
CASE WHEN repeatFalseCnt>0 THEN repeatFalseCnt ELSE 0 END repeatFalseCnt
FROM
tb_ipcDevice ipc
LEFT JOIN (
SELECT
cam_id,
count(1) AS repeatFalseCnt
FROM
tb_algoRepeatFalse ah
WHERE
ah.alarm_time >= CONCAT(date_format(NOW(), '%Y-%m-%d'), ' 00:00:00') AND ah.alarm_time < CONCAT(date_format(NOW(), '%Y-%m-%d'), ' 23:59:59')
GROUP BY
ah.cam_id) b ON
ipc.identify = b.cam_id
) RESULT
GROUP BY
date,
identify;

end

回答 0
暂无回答
扫一扫
联系客服