PL/SQL презентация

Содержание

Структура блока PL/SQL: DECLARE   -   необязательно Константы, переменные, типы, курсоры, пользовательские исключения BEGIN   -   обязательно Команды SQL Команды PL/SQL EXCEPTION   -   необязательно Действия при возникновении ошибки END;  

Слайд 1
PL/SQL


Слайд 2


Слайд 4Структура блока PL/SQL:
DECLARE   -   необязательно
Константы, переменные, типы, курсоры, пользовательские

исключения
BEGIN   -   обязательно
Команды SQL
Команды PL/SQL
EXCEPTION   -   необязательно
Действия при возникновении ошибки
END;   -   обязательно

Слайд 5Секция объявлений
DECLARE
v_date_time TIMESTAMP;
….


Слайд 6Секция исключительных ситуаций
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE(sqlerrm);
End;


Слайд 7Минимальный блок pl/sql
Begin
NULL;
End;


Слайд 8Простой пример


Слайд 9Типы блоков
Анонимные блоки
Процедуры
Функции


Слайд 10Типы переменных
Переменные PL/SQL
Скалярные
Составные
Ссылочные
LOB (большие объекты)
Прочие переменные (не PL/SQL)
Связанные переменные и хост-переменные


Слайд 11Основные скалярные типы данных


Слайд 12Основные скалярные типы данных


Слайд 13Требование к переменным
должны начинаться с буквы
могут включать буквы и цифры
могут включать

специальные символы, например, знак доллара ($), символы подчеркивания (_) и решетки (#)
максимальная длина – 30 символов
не могут быть зарезервированными словами.
identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr];

Слайд 14Ключевые слова
Select keyword, length
From v_$reserved_words
Where (length>1 or keyword = ‘A’)
And keyword

!= ‘<‘
Order by keyword


Слайд 15
Переменные инициализируются всякий раз при входе в блок. По умолчанию переменные

принимают неопределенное значение NULL.
Переменную можно инициализировать в декларативной секции, в том числе и с использованием ключевого слова DEFAULT.
Переменные, не имеющие стандартного начального значения можно инициализировать с использованием знака присваивания ":=".
Если переменная имеет ограничение NOT NULL - присвоить неопределенное значение такой переменной невозможно.


Слайд 16Примеры объявления переменных.


Слайд 17Атрибут %TYPE
Атрибут %TYPE позволяет объявлять переменную типа, соответствующего:
типу другой переменной;
типу столбца

базы данных.
Например:

var1 REAL(14,2);
var2 var1%TYPE; - Переменная var2 будет иметь тип как var1

var_f1 user1.tbl1.f1%TYPE; - Переменная var_f1 будет иметь тот же тип, что и поле f1 таблицы tbl1 пользователя user1


Слайд 18Атрибут %ROWTYPE
Атрибут %ROWTYPE позволяет объявлять переменную типа "запись", соответствующую строке таблицы.

Переменная такого типа имеет поля, совпадающие с полями таблицы по имени и типу.
DECLARE
tbl1_rec1 tbl1%ROWTYPE;
- Для строки из таблицы tbl1
tbl1_rec2 tbl1%ROWTYPE;
CURSOR c1 IS SELECT * FROM tbl1;
emp_rec2 c1%ROWTYPE;
- Для строки курсора с1,
- созданного из таблицы tbl1
emp_rec3 с1%ROWTYPE;
BEGIN
SELECT * INTO tbl1_rec1 FROM tbl1
WHERE tbl1.f1=1;
emp_rec2 := emp_rec1;
- Присвоение значения всем полям записи
END

Слайд 19Составные типы данных
PL/SQL RECORD (запись)
PL/SQL TABLE (таблица)
Nested TABLE (вложенная

таблица)
VARRAY (массив переменной длины)

Слайд 20Записи PL/SQL
TYPE type_name IS RECORD

( field_name1 {field_type |

variable%TYPE | table.column%TYPE

| table%ROWTYPE} [NOT NULL],

field_name2 {field_type | variable%TYPE | table.column%TYPE

| table%ROWTYPE} [NOT NULL],

...);



Слайд 21Таблицы PL/SQL
Тип данных, который подобен таблицам базы данных. Таблица PL/SQL должна

содержать два компонента:
Главный ключ типа BINARY_INTEGER, по которому индексируется таблица PL/SQL.
Столбец скалярного типа данных или типа RECORD.

TYPE type_name IS TABLE OF { column_type | variable%TYPE | table.column%TYPE } [NOT NULL] INDEX BY BINARY_INTEGER;

Слайд 22
TYPE type_name IS TABLE OF { column_type | variable%TYPE |

table.column%TYPE } [NOT NULL] INDEX BY BINARY_INTEGER;

Слайд 23Процедуры и функции для работы с таблицами PL/SQL


Слайд 24Связанная переменная
переменная, которая объявляется во внешней среде, а затем используется для

динамической передачи параметра в программу PL/SQL.

 :BV_Car := ‘Audi’;

Слайд 25Работа с данными в PL/SQL
Для извлечения данных из БД и их

изменения (DML) используются команды SQL. Управление транзакциями также осуществляется при помощи команд SQL - COMMIT и ROLLBACK.
Команды DDL и DCL явным образом использовать в PL/SQL нельзя. Для этой цели можно воспользоваться возможностями встроенного пакета DBMS_SQL.

Слайд 26Выборка строк данных


Слайд 28Изменение данных в PL/SQL
Пример вставки данных в PL/SQL
Пример удаления данных

в PL/SQL

Слайд 29Операторы ветвления


Слайд 30Циклы
простой цикл
цикл FOR
цикл WHILE


Слайд 31Простой цикл


Слайд 32Цикл FOR


Слайд 33Цикл WHILE


Слайд 34Курсоры
Курсор – это средство извлечения данных из базы данных Oracle. Курсоры

содержат определения столбцов и объектов (таблиц, представлений и т.п.) из которых будут извлекаться данные, а также набор критериев, определяющих какие именно строки должны быть выбраны

Слайд 35
Неявные курсоры - простой оператор SELECT ... INTO извлекает одну строку данных

непосредственно в переменные локальной программы. Явные курсоры - вы можете явно объявить курсов в разделе объявлений (локального блока или пакета).
Курсорные переменные - дополнительный уровень гибкости обеспечивают курсорные переменные (объявленные на основе типа REF CURSOR), которые позволяют передавать указатель на результирующее множество, полученное по запросу.
Курсорные выражения - выражения CURSOR преобразуют оператор SELECT в указатель (типа REF CURSOR) на результирующее множество и могут использоваться в сочетании с табличными функциями для повышения производительности приложений.

Слайд 36Неявные курсоры
создается всякий раз, когда в PL/SQL выполняется запрос, Oracle присваивает

ему системное имя


Атрибуты, которые можно применять для неявного курсора для определения результатов выполнения команды SQL:


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика