首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Create procedure错误weekday()

Create procedure错误weekday()
EN

Stack Overflow用户
提问于 2017-09-05 14:50:25
回答 1查看 39关注 0票数 0

我只需要在星期一执行这个过程;所以我首先在工作日()做了一个测试,但是有一个语法错误,我找不到错误是什么?

代码语言:javascript
复制
CREATE DEFINER=`root`@`localhost` PROCEDURE `fm_Upd_Histo_Inv`()
BEGIN
-- Test if it is Monday 
    CASE WEEKDAY(curdate()) = 0 then
        insert into db1w_histo_inventory (year, week, store, total, to_do)
            select year(curdate()),
                WEEKOFYEAR(curdate()),
                S.store, 
                count(S.INVDATE) as TotalToDo,
                sum(datediff(curdate(), S.INVDATE) > '365') as 'TO_DO'
            from mrqr_stock S
            left join mrqr_organisms O
                on O.ORGANISM = S.STORE
            where (O.ORGANISM like '01%'
                        or O.ORGANISM like 'VV%'
                        or O.ORGANISM like 'IK%')
            group by S.STORE
    end;
END
EN

回答 1

Stack Overflow用户

发布于 2017-09-05 15:05:03

CASE通常用在select、insert、update、delete等语句中。它不用于控制流。请改用IF。并设置不同的分隔符。

代码语言:javascript
复制
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `fm_Upd_Histo_Inv`()
BEGIN
-- Test if it is Monday 
    IF WEEKDAY(curdate()) = 0 then
        insert into db1w_histo_inventory (year, week, store, total, to_do)
            select year(curdate()),
                WEEKOFYEAR(curdate()),
                S.store, 
                count(S.INVDATE) as TotalToDo,
                sum(datediff(curdate(), S.INVDATE) > '365') as 'TO_DO'
            from mrqr_stock S
            left join mrqr_organisms O
                on O.ORGANISM = S.STORE
            where (O.ORGANISM like '01%'
                        or O.ORGANISM like 'VV%'
                        or O.ORGANISM like 'IK%')
            group by S.STORE
    end if;
END $$
DELIMITER ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46048617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档