MySQL Workbenchでは、今週の月曜日にemployee
が動作する場合、次週は火曜日に作業しなければならない水曜日の週に続きます...など。ケースステートメントを使用して名簿を更新する
私が実行したときにちょうどすべてのタプルのためnull
を返す(case
ストアドプロシージャを使用することによって、これを達成しようとしてきたが、運がなかったしている。私はテーブルをループする代わりにcursor
を使用する必要がありますか
この
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
表を呼び出しの前に更新する:私はこれまで持っているものである
roster employee branch workShift 0001 01 Mon 0001 01 Tues 0001 01 Thurs 0001 01 Sat
表コール後に更新する:
roster employee branch workShift 0001 01 Tues 0001 01 Wed 0001 01 Fri 0001 01 Sun
すべてのヘルプは大歓迎です。おかげ
これは実際に_statement_のケースであり、_expression_のケースではありません。 (case式に戻り値がある場合、case文はコードの条件付き実行のためのものです。) – jarlh
@jarlhありがとう。 – Capernicon
_inout_パラメータは必要ありませんか? – jarlh