gpt4 book ai didi

mysql - 使用案例声明将名册更新一天

转载 作者:行者123 更新时间:2023-11-29 18:15:38 25 4
gpt4 key购买 nike

在 MySQL Workbench 中,我试图将他们下周工作的列增加一天。即,如果 employee 这周周一工作,下周他必须周二工作,然后周三...等等。

我一直在尝试通过使用 case 存储过程来实现此目的,但没有运气(执行时只为所有元组返回 null 。我应该使用一个光标而不是循环遍历表格?

这是我到目前为止所拥有的:

CREATE PROCEDURE `UpdateRoster`(inout workShift int(4))
BEGIN
SELECT workShift
FROM roster;

CASE

WHEN workShift = Mon THEN SET workShift = Tue;
WHEN workShift = Tue THEN SET workShift = Wed;
WHEN workShift = Wed THEN SET workShift = Thur;
WHEN workShift = Thur THEN SET workShift = Fri;
WHEN workShift = Fri THEN SET workShift = Sat;
WHEN workShift = Sat THEN SET workShift = Sun;
WHEN workShift = Sun THEN SET workShift = Mon;

END CASE;
END

调用更新之前的表:

名册
员工分行轮类
0001 01 星期一
0001 01 星期二
0001 01 星期四
0001 01 星期六

调用更新后的表:

名册
员工分行轮类
0001 01 星期二
0001 01 星期三
0001 01 星期五
0001 01 太阳

感谢任何帮助。谢谢

最佳答案

我不是 100% 确定,但您似乎想要更新:

 UPDATE roster r
SET workShift = (CASE WHEN workShift = 'Mon' THEN 'Tue'
WHEN workShift = 'Tue' THEN 'Wed'
WHEN workShift = 'Wed' THEN 'Thur'
WHEN workShift = 'Thur' THEN 'Fri'
WHEN workShift = 'Fri' THEN 'Sat'
WHEN workShift = 'Sat' THEN 'Sun'
WHEN workShift = 'Sun' THEN 'Mon'
END);

这是对您可能想要什么的猜测。我应该指出,还有其他方法可以完成此逻辑。

关于mysql - 使用案例声明将名册更新一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47051121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com