最後の句は ELSE
を使用する必要があります WHEN
の代わりに :
DECLARE v_grade CHAR(1) := 'C'; appraisal VARCHAR(20); BEGIN appraisal := CASE v_grade WHEN 'A' THEN 'Excellent' WHEN 'B' THEN 'Very Good' WHEN 'C' THEN 'Good' ELSE 'No such grade' END; DBMS_OUTPUT.PUT_LINE('Grade: '||v_grade||', Appraisal '||appraisal); END;
プレ>更新
これをトラブルシューティングする方法についてアドバイスを与えることは簡単ではありません (主に個人的な好みの問題であるため)。私がいつも試していることは
- 例を絞り込みます (あなたのケースでは、
CASE
のすべての追加句を取り除きます) ) - クエリの問題のある部分を最初から書き直す
- 機能する同様のクエリをコピーし、エラーが発生するまで、そのクエリを徐々に変更して問題のクエリに似せます