- •1.Oracle – основные черты. Логическая структура б.Д. Примеры – из нашей б.Д:
- •4.Курсорные циклы. В чём их преимущество. Особенность использования переменной курсорного цикла.
- •Типы, определяемые пользователем, примеры. Объявление переменных.
- •Синтаксис команды update.
- •Синтаксис команды insert
- •Примеры использования
- •Средства защиты базы данных. Приведите примеры использования из нашей практики.
- •Целостность базы данных, управление правилами целостности
- •Язык dml? Всё, что Вы знаете об этой аббревиатуре. Примеры из нашей работы
- •Язык ddl? Всё, что Вы знаете об этой аббревиатуре. Примеры из нашей работы
- •Синтаксис команды insert: обязательно с практическими примерами.
- •Синтаксис команды delete: обязательно с практическими примерами.
- •Синтаксис
- •Синтаксис команды select: обязательно с практическими примерами.
- •Синтаксис команды truncate: обязательно с практическими примерами.
- •Синтаксис
- •Отличия от оператора delete
- •Структура блока pl/sql
- •Программные модули. Структура. Способы хранения, вызова. Преимущества использования.
- •Создание хранимых процедур и функций. Способы вызова из различных сред.
- •Назначение и преимущества хранимых процедур
- •Реализация хранимых процедур
Синтаксис команды truncate: обязательно с практическими примерами.
Truncate — в языках, подобных SQL, DML-операция очистки всех строк в таблице. Логически эквивалентна операции DELETE без оператора WHERE, однако часто выполняется быстрее и требует меньших ресурсов системы.
Синтаксис
Общий синтаксис команды:
TRUNCATE TABLE <Имя Таблицы>
Последствием выполнения такой команды является полное удаление всех строк таблицы <Имя Таблицы>.
Отличия от оператора delete
Основные отличия операторов TRUNCATE и DELETE, которые могут присутствовать в различных реализациях СУБД:
Операция TRUNCATE не записывает в журнал событий удаление отдельных строк. Вследствие чего не может активировать триггеры.
После операции TRUNCATE для некоторых СУБД (например, Oracle) следует неявная операция COMMIT. Поэтому удаленные в таблице записи нельзя восстановить операцией ROLLBACK. Но существуют и СУБД, в которых операция TRUNCATE может участвовать в транзакциях, например, Microsoft SQL Server.
Операция DELETE блокирует каждую строку, а TRUNCATE - всю таблицу.
Операция TRUNCATE не возвращает какого-то осмысленного значения (обычно возвращает 0) в отличие от DELETE, которая возвращает число удаленных строк.
Вообще говоря, реализация оператора TRUNCATE может зависеть от выбора конкретной СУБД. Поэтому в каждом случае рекомендуется смотреть документацию выбранной системы.
Виды запросов: обязательно с практическими примерами.
Все запросы делятся на простые и сложные.
Простые - это запросы к одной таблице.
Сложные – запросы объединения (соединения), это запросы к двум и более таблицам.
Независимые подзапросы: обязательно с практическими примерами.
Обзоры. Что это за объекты? Для чего и как они создаются? Привести пример из нашей практики. Как можно было решить проблему заполнения поля PAYMENT без предварительного создания обзора?
Подзапросы. Всё, что Вы знаете. Приведите примеры на данных из наших таблиц.
Подзапросы различаются:
Скалярные – возвращают одну строку и один столбец
Многострочные – возвращают список значений по какому-то столбцу
Многостолбцовые – возвращают несколько полей одной строки
Ещё различают связанные с основным запросом (коррелированные) не связанные.
Пример:
Имена клиентов, у которых значение счёта >= среднему значению по всем счетам. Подзапрос – скалярный, возвращает среднее значение.
Несвязанный подзапрос выполняется сначала.
Пример:
Select name клиент, acc счёт
From clients
Where acc >= (select avg (acc) from clients);
Имя клиента и его счёт больше среднего значения.
Select a.name, a.city, a.acc
From clients a
Where a.acc >= (select avg (b.acc) from clients b
Where a.city = b.city);
Клиенты одного города и их счета
Структура блока pl/sql
Базовой единицей в PL/SQL является блок. Различают анонимные (безымянные) блоки и анонимные блоки с метками (неименованные).
Безымянные блоки не хранятся в БД, а создаются для разового применения (не объекты БД).
Подпрограммы (именованные блоки) – процедуры, функции, модули (пакеты), триггеры это все объекты БД.
1 – Секция – описание переменных (Declare). Эта секция может быть не обязательна. В PL/SQL установлена ранняя привязка.
2 – Секция исполняемых операторов Begin, обязательна.
3 – Секция Exception- секция обработки исключений.
4 – end;
Возможны вложенные блоки.
Блочно-структурируемая PL/SQL. Преимущества блоков PL/SQL в отличии от отдельных SQL-операторов, кроме дополнительной функциональности обеспечивает более высокую производительность обработки данных и значительное уменьшение сетевого трафика. Ещё более значительно сокращает сетевой трафик использование хранимых процедур.
