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

Язык PL/SQL

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

11 WHEN (Lamda < 0.41)

12 THEN DBMS_OUTPUT.PUT_LINE(text3);

13 ELSE

14 DBMS_OUTPUT.PUT_LINE(text2);

15 END CASE;

16 END;

17 /

Enter value for input_data: 0.50

old 7: lamda := &Input_Data;

new 7: lamda := 0.50;

Видимый свет

PL/SQL procedure successfully completed.

Помимо условной команды CASE, в PL/SQL есть выражение CASE, которое последовательно вычисляет логические выражения из заданного списка, пока одно из них не станет истинным, а затем возвращает результат связанного с ним выражения. В этом заключается отличие выражения CASE от команды CASE – команда CASE управляет потоком других команд, а выражение CASE вычисляется и его значение может быть присвоено переменным, использовано в других выражениях и т. д.

DECLARE

lamda NUMBER := 0.50;

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

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

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

answer VARCHAR2(30);

BEGIN

answer := CASE WHEN (lamda > 0.65) THEN text1

WHEN (Lamda < 0.41) THEN text3

ELSE text2

END;

DBMS_OUTPUT.PUT_LINE(answer);

END;

Команда перехода GOTO

Команда перехода GOTO позволяет осуществить переход по метке, присутствующей в коде PL/SQL. С помощью уникального идентификатора, заключенного в двойные угловые скобки (метки), можно пометить любую часть исполняемого блока PL/SQL для перехода в это место.

SQL> DECLARE

2 s NUMBER := 1;

3 BEGIN

4 IF s = 1 THEN

5 GOTO mybranch; – переход по метке mybranch

6 ELSE

7 s := 1;

8 END IF;

9 <<mybranch>> – установка метки mybranch

10 NULL;

11 END;

12 /

PL/SQL procedure successfully completed.

Команда GOTO в языках программирования является объектом критики, поскольку чрезмерное ее применение приводит к созданию нечитаемого «спагетти-кода». Впервые эта точка зрения была отражена в статье Эдсгера Дейкстры «Доводы против команды GOTO», в которой утверждалось, что квалификация программистов обратно зависит от частоты использования команды GOTO в их программах. Многие преподаватели не принимают написанные студентами программы с командами GOTO по той причине, что наличие GOTO свидетельствует о неумении правильно структурировать исходный код.

Команда NULL

Команда NULL («пустая» команда) обычно используется как «заглушка» в месте, где надо написать какую-нибудь команду, потому что ничего не написать там нельзя по требованиям синтаксиса PL/SQL. Потом, по мере появления определенности, «заглушка» заменяется на функциональный код:

CASE sex

WHEN 'М' THEN

sex_decoded := 'male';

WHEN 'F' THEN

sex_decoded := 'female';

ELSE
<< 1 ... 5 6 7 8 9 10 11 12 13 ... 80 >>
На страницу:
9 из 80