Иван Задворьев - Язык PL/SQL

Здесь есть возможность читать онлайн «Иван Задворьев - Язык PL/SQL» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2018, Издательство: Array SelfPub.ru, Жанр: Программирование, Базы данных, , на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Язык PL/SQL: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Язык PL/SQL»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.

Язык PL/SQL — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Язык PL/SQL», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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);

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

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

NULL; – toDo: write code for exception sex not in list {F,M} ;))

END CASE;

Также команда NULL используется при обработке исключений, когда обработка какого-нибудь исключения заключается в отсутствии каких-либо действий (ничегонеделании). Такая практика «замалчивания» исключений обычно не приветствуется, так как она приводит к сложно выявляемым проблемам и неожиданным результатам работы программ.

Циклы

В языке PL/SQL имеется три вида циклов:

простой цикл, который начинается с ключевого слова LOOP и завершается командой END LOOP;

цикл WHILE с предусловием, который позволяет выполнить одну и ту же последовательность команд, пока проверяемое условие истинно;

цикл FOR со счетчиком.

Простой цикл

Простой цикл рассмотрим на примере определения числа, факториал которого является наименьшим числом, впервые превышающим заданную константу (1 000 000 000).

SQL> DECLARE

2 arg NUMBER; – Переменная для вычисления факториала

3 i NUMBER; – Переменная-счетчик

4 limit NUMBER := 1000000000; – Граница

5 text1 VARCHAR2(80) := 'n! числа, впервые превышающий 1000000000';

6

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Язык PL/SQL»

Представляем Вашему вниманию похожие книги на «Язык PL/SQL» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Язык PL/SQL»

Обсуждение, отзывы о книге «Язык PL/SQL» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x