テーブルを更新していたとき、自分のやり方は非常に面倒だと思ったので、case ステートメントを使用することにしました。簡単な手順で使いたいのですが、そこが問題です!それを正しく理解できないようです。
助けていただければ幸いです。
私のテーブル:
drop table tbh;
CREATE TABLE tbh ( a NUMBER, b number, c varchar2(3));
INSERT INTO tbh VALUES( 1, '0','');
INSERT INTO tbh VALUES( 2, '2','');
INSERT INTO tbh VALUES( 3, '7','');
私の場合:
UPDATE tbh
SET c =
CASE WHEN a > b THEN 'W'
WHEN a < b THEN 'L'
WHEN a = b THEN 'D'
END ;
私が試したこと:
CREATE OR REPLACE PROCEDURE WIN (IN P_WT VARCHAR2(3))
BEGIN
CASE P_WT
WHEN a > b THEN
UPDATE tbh SET c = 'W';
WHEN a < b THEN
UPDATE tbh SET c = 'L';
WHEN a = b THEN
UPDATE tbh SET c = 'D';
END CASE;
END;
/