Оценить:
 Рейтинг: 0

Язык PL/SQL

Год написания книги
2017
<< 1 ... 4 5 6 7 8 9 10 11 12 ... 80 >>
На страницу:
8 из 80
Настройки чтения
Размер шрифта
Высота строк
Поля

последовательность команд 1;

WHEN результат 2 THEN

последовательность команд 2;



ELSE

альтернативная последовательность команд;

END CASE;

Простая команда CASE обычно используется для избавления от многочисленных команд IF и конструкций ELSE в них путем формирования хорошо структурированных ветвей кода в зависимости от списка значений, которые может принимать некоторая управляющая переменная. Приведем пример поиска слова на русском языке по английскому аналогу:

SQL> DECLARE

2 english_termin VARCHAR2(20);

3 text1 VARCHAR2(30) := 'Инфракрасное излучение';

4 text2 VARCHAR2(30) := 'Видимый свет';

5 text3 VARCHAR2(30) := 'Ультрафиолет';

6 text4 VARCHAR2(30) := 'Неизвестный термин';

7 BEGIN

8 english_termin := &Input_Data;

9 CASE english_termin

10 WHEN 'Infrared radiation' THEN DBMS_OUTPUT.PUT_LINE(text1);

11 WHEN 'Visible light' THEN DBMS_OUTPUT.PUT_LINE(text2);

12 WHEN 'Ultraviolet' THEN DBMS_OUTPUT.PUT_LINE(text3);

13 ELSE DBMS_OUTPUT.PUT_LINE(text4);

14 END CASE;

15 END;

16 /

Enter value for input_data: 'Ultraviolet'

old 8: english_termin := &Input_Data;

new 8: english_termin := 'Ultraviolet';

Ультрафиолет

PL/SQL procedure successfully completed.

Поисковая команда CASE имеет следующий синтаксис:

CASE

WHEN верно логическое условие 1 THEN

последовательность команд 1;

WHEN верно логическое условие 2 THEN

последовательность команд 2;



ELSE

альтернативная последовательность команд;

END CASE;

Перепишем пример определения источника излучения с использованием поисковой команды CASE вместо команды IF (сравните с предыдущей версией):

SQL> DECLARE

2 lamda NUMBER;

3 text1 VARCHAR2(30) := 'Инфракрасное излучение';

4 text2 VARCHAR2(30) := 'Видимый свет';

5 text3 VARCHAR2(30) := 'Ультрафиолет';

6 BEGIN

7 lamda := &Input_Data;

8 CASE

9 WHEN (lamda > 0.65)

10 THEN DBMS_OUTPUT.PUT_LINE(text1);
<< 1 ... 4 5 6 7 8 9 10 11 12 ... 80 >>
На страницу:
8 из 80