Вот один из способов сделать это - поместить CASE
в DBMS_OUTPUT.PUT_LINE
call:
SQL> set serveroutput on
SQL> DECLARE
2 total_purchases NUMBER (7, 2);
3 BEGIN
4 total_purchases := 20;
5 DBMS_OUTPUT.put_line (CASE
6 WHEN total_purchases > 200
7 THEN
8 'high'
9 WHEN total_purchases > 100
10 AND total_purchases < 200
11 THEN
12 'mid'
13 WHEN total_purchases < 100
14 THEN
15 'low'
16 END);
17 END;
18 /
low
PL/SQL procedure successfully completed.
SQL>
Или, если вы используете свой синтаксис, сначала исправить ошибки (лишние скобки, пропущенная точка с запятой):
SQL> DECLARE
2 total_purchases NUMBER (7, 2);
3 BEGIN
4 total_purchases := 20;
5
6 CASE
7 WHEN (total_purchases > 200)
8 THEN
9 DBMS_OUTPUT.put_line ('high');
10 WHEN (total_purchases > 100)
11 AND total_purchases < 200
12 THEN
13 DBMS_OUTPUT.put_line ('mid');
14 WHEN (total_purchases < 100)
15 THEN
16 DBMS_OUTPUT.put_line ('low');
17 END CASE;
18 END;
19 /
low
PL/SQL procedure successfully completed.
SQL>