Язык PL/SQL

Язык PL/SQL

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

Жанр: Базы данных
Цикл: Не является частью цикла
Год публикации: 2018

Читать онлайн Язык PL/SQL


Введение в PL/SQL

Назначение PL/SQL

PL/SQL – «Procedural Language extensions to the Structured Query Language», что переводится как «Процедурные языковые расширения для языка SQL».

Практически в каждой СУБД корпоративного уровня есть язык программирования, предназначенный для расширения возможностей SQL:

PL/SQL – в Oracle Database Server;

Transact-SQL – в Microsoft SQL Server;

SQL PL – в IBM DB2;

PL/pgSQL – в PostgreSQL.

На этих языках создаются программы, которые хранятся непосредственно в базах данных и выполняются СУБД, поэтому их называют языками хранимых процедур (stored procedure languages). Языки хранимых процедур имеют схожие синтаксис и семантику, поэтому после освоения языка PL/SQL впоследствии можно будет довольно легко перейти, например, на Transact-SQL или PL/pgSQL.


Функция на языке Oracle PL/SQL

Функция на языке PL/pgSQL PostgreSQL


CREATE FUNCTION F1 RETURN INT AS

BEGIN

FOR r IN (SELECT * FROM tab1) LOOP

UPDATE tab2 SET at3=r.at2;

END LOOP;

RETURN 1;

END;

CREATE FUNCTION F1() RETURNS int AS '

DECLARE

r RECORD;

BEGIN

FOR r IN SELECT * FROM tab1 LOOP

UPDATE tab2 SET at3=r.at2;

END LOOP;

RETURN 1;

END;

' LANGUAGE plpgsql;


Задачи, решаемые PL/SQL

PL/SQL, в отличие от Java, Python или C++, не используется для разработки математических приложений, игр и т. п. Это специфичный язык программирования третьего поколения, предназначенный для работы с базами данных Oracle прямо в ядре сервера Oracle. Фактически программы на PL/SQL – это обертки вокруг предложений SQL.

Язык PL/SQL используется для решения следующих задач:

реализация серверной бизнес-логики в виде хранимых программ;

автоматизация задач администрирования баз данных Oracle;

разработка web-приложений;

разработка клиентских приложений в среде Oracle Developer.

Мы не будем останавливаться на автоматизации задач администрирования баз данных и разработке клиентских приложений, а сосредоточимся на главном направлении использования PL/SQL – реализации бизнес-логики на стороне сервера в виде хранимых программ.

Сценарий использования программ PL/SQL

Пусть в корпоративной сети на Linux-сервере находится база данных Oracle со сведениями о клиентах организации. Подключимся к серверу Oracle с ноутбука по сети с помощью утилиты SQL*Plus. Запуск на выполнение из SQL*Plus процедуры PL/SQL calc_clients_debt для расчета клиентской задолженности может выглядеть примерно так:

SQL> BEGIN

2 calc_clients_debt(p_account_from=>100001,p_account_to=>200000);

3 END;

4 /


PL/SQL procedure successfully completed.

Только четыре строки для запуска процедуры calc_clients_debt будут переданы с ноутбука на Linux-сервер, где сервер баз данных Oracle, получив эти строки, выполнит процедуру PL/SQL. На ноутбук обратно вернутся только сведения об успешности завершения работы процедуры – одна строка. Требуемые для расчетов гигабайты финансовых данных для заданного диапазона в 100 000 лицевых счетов на ноутбук по сети передаваться не будут – выборка всех данных клиентов c помощью выполнения SQL из PL/SQL и все расчеты по ним в PL/SQL будут осуществляться ядром СУБД Oracle на мощном Linux-сервере. На этом же сервере, в этой же базе данных Oracle процедурой calc_clients_debt будут сохранены и результаты вычислений.

Так расчет задолженности мог выглядеть, если бы его запускал технический специалист, знающий устройство базы данных и предпочитающий работать с ней в SQL*Plus. Понятно, что сотрудники бухгалтерии или клиентского отдела не работают с базой данных в SQL*Plus. Для них должна быть разработана и установлена клиентская программа на C#, Java или другом языке программирования с экранными формами и отчетами. В этой программе на экранной форме пользователь задает диапазон обрабатываемых лицевых счетов и нажимает кнопку «Рассчитать задолженность».


Вам будет интересно
Как жить в мире, где информацию о тебе может получить кто угодно и когда угодно? Ведущий мировой эксперт по будущему Big Data Андреас Вайгенд знает ответ. Он разрабатывал стратегию данных таких крупных рыб, как Alibaba, Goldman Sachs, Lufthansa, Thomson Reuters. Работал руководителем по Big Data в компании Amazon, является Директором компании Social Data Lab, преподаёт в IT-школе Калифорнийского университета Беркли.Андреас уверен, что этот «дом со стеклянными стенами» несет в себе не только боль...
Читать онлайн
Наш телефон знает о нас больше, чем мы думаем. Он умеет собирать и анализировать информацию о том, как мы передвигаемся по городу, какие посты лайкаем и какими приложениями пользуемся. Он сообщит о пробках и поторопит на работу, чтобы мы не опоздали; подберет музыку под наше настроение и составит список персональных рекомендаций, чем можно занять себя в течение дня. Телефон – больше не устройство, по которому звонят, это уже средство управления окружающим нас миром. Незаметно мы окружили себя та...
Читать онлайн
Что общего у аналитика данных и Шерлока Холмса? Как у Netflix получилось создать 100 %-ный хит – сериал «Карточный домик»? Ответ кроется в правильном использовании данных. Эта книга – практическое руководство и увлекательное путешествие в науку о данных, независимо от того, хотите ли вы использовать анализ данных в своей профессии, собираетесь ли стать аналитиком данных, или уже работаете в этой области. Ее автор, основатель образовательного онлайн-портала и консультант, Кирилл Еременко просто и...
Читать онлайн
Сегодня наука о данных используется практически во всех сферах: вы видите подобранные специально для вас рекламные объявления, рекомендованные на основе ваших предпочтений фильмы и книги, ссылки на предполагаемых друзей в соцсетях, отфильтрованные письма в папке со спамом.Книга знакомит с основами науки о данных. В ней охватываются все ключевые аспекты, начиная с истории развития сбора и анализа данных и заканчивая этическими проблемами, связанными с конфиденциальностью информации. Авторы объясн...
Читать онлайн
Статистика играла ключевую роль в научном познании мира на протяжении веков, а в эпоху больших данных базовое понимание этой дисциплины и статистическая грамотность становятся критически важными. Дэвид Шпигельхалтер приглашает вас в не обремененное техническими деталями увлекательное знакомство с теорией и практикой статистики.Эта книга предназначена как для студентов, которые хотят ознакомиться со статистикой, не углубляясь в технические детали, так и для широкого круга читателей, интересующихс...
Читать онлайн
Человечество научилось собирать, обрабатывать и использовать в науке, бизнесе и повседневной жизни огромные массивы данных. Но что делать с данными, которых у нас нет? Допустимо ли игнорировать то, чего мы не замечаем? Британский статистик Дэвид Хэнд считает, что это по меньшей мере недальновидно, а порой – крайне опасно. В своей книге он выделяет 15 влияющих на наши решения и действия видов данных, которые остаются в тени. Например, речь идет об учете сигналов бедствия, которые могли бы подать ...
Читать онлайн
Как выжать все из своих данных? Как принимать решения на основе данных? Как организовать анализ данных (data science) внутри компании? Кого нанять аналитиком? Как довести проекты машинного обучения (machine learning) и искусственного интеллекта до топового уровня? На эти и многие другие вопросы Роман Зыков знает ответ, потому что занимается анализом данных почти двадцать лет. В послужном списке Романа – создание с нуля собственной компании с офисами в Европе и Южной Америке, ставшей лидером по п...
Читать онлайн
Вести работу в бизнесе и в жизни быстрее с Access! Программа Access есть в любом доме. Её можно легко приобрести. Но не каждый может ею пользоваться и делает работу вручную. Microsoft Access применяется для автоматизации несчётного количества процессов в медицине, бухгалтерии, складских службах, МВД, бизнесе: туристическом, гостиничном, книжном, торговом, библиотечном, музыкальном. Освоив азы этой науки по предложенному изданию, вы сможете Создавать базы данных в своём производстве, в любых жизн...
Читать онлайн
Однажды на ферме Ева нашла ежонка. Девочка долго ждала, когда вернётся его мама, но ежиха не пришла. Поэтому Ева забрала малыша в центр спасения животных «Лапа дружбы». В центре девочке сказали, что, скорее всего, ежонок не один и, раз его мама пропала, надо спасти остальных крошек. Но ежата такие маленькие и пугливые… Как же им помочь?В формате PDF A4 сохранен издательский макет книги....
Читать онлайн
Главного героя зовут Андр. Он попал в неизвестный ему мир, а перед ним стоит задача познать себя, мир вокруг. Ни читатель, ни главный герой не знают, что будет дальше. Скорее всего, даже автор не в курсе, что произойдёт в следующий момент. Андр и автор похожи, они оба не понимают, что происходит, но пытаются идти дальше. В какой мир попал главный герой можно узнать, только прочитав книгу. Одно можно сказать точно, в этом мире есть магия. Остальные вопросы остаются открытыми. Андр не является неп...
Читать онлайн
Узнайте правдивую историю о том, как одна семья, оставив свою прежнюю жизнь, махнула из Москвы в Израиль. Полюбуйтесь пестрым калейдоскопом воспоминаний о советском детстве и юности героини. Прочитайте лиричные и ироничные заметки умудренной опытом женщины о жизни «тут» и «там». В книге много веселых моментов и грустных эпизодов: все как в жизни. Уверены, вы получите большое удовольствие от занимательной книжки....
Читать онлайн
Андриан не думал о чём-то глобальном в 1988 году, пока жизнь всячески менялась, но было нечто вечное и постоянное – Пиночет. Референдум о новом сроке диктатора уже на носу. Будет ли это движущей силой? Сможет ли подросток противостоять системе, найти себя, семью, друзей и спастись?Свобода уйдёт под аплодисменты и придёт с восторгом....
Читать онлайн