Oracle Database 19c: PL/SQL Workshop
Oracle Database 19c: PL/SQL Workshop - это полный курс по PL/SQL, включающий введение в программирование и управление кодом на PL/SQL
Oracle Database 19c: PL/SQL Workshop - это полный курс по PL/SQL, включающий введение в программирование и управление кодом на PL/SQL
Обзор курса и учебная среда;
Структура и цели программы обучения;
Подключение к базе данных Oracle 19c;
Инструменты разработки: SQL Developer, SQL*Plus;
Назначение и преимущества PL/SQL;
Структура блока PL/SQL: DECLARE, BEGIN, EXCEPTION, END;
Типы блоков: анонимные, именованные;
Выполнение блоков PL/SQL в SQL Developer;
Скалярные типы данных: VARCHAR2, NUMBER, DATE, BOOLEAN;
Атрибуты %TYPE и %ROWTYPE;
Переменные подстановки и привязки;
Последовательности в выражениях PL/SQL;
Синтаксические правила блоков PL/SQL;
Операторы присваивания и выражения;
Вложенные блоки и области видимости;
Функции DBMS_OUTPUT.PUT_LINE для вывода;
Операторы SELECT INTO для выборки данных;
DML-операции: INSERT, UPDATE, DELETE в PL/SQL;
Управление транзакциями: COMMIT, ROLLBACK, SAVEPOINT;
Неявные курсоры и атрибуты SQL%ROWCOUNT, SQL%FOUND;
Условные операторы: IF-THEN-ELSIF-ELSE, CASE;
Простые и поисковые выражения CASE;
Циклы: LOOP, WHILE, FOR;
Вложенные циклы и метки;
Записи PL/SQL (RECORD);
Коллекции: ассоциативные массивы (INDEX BY);
Вложенные таблицы и VARRAY;
Методы коллекций: COUNT, FIRST, LAST, NEXT;
Объявление, открытие, выборка и закрытие курсора;
Атрибуты курсора: %FOUND, %NOTFOUND, %ROWCOUNT, %ISOPEN;
Цикл FOR для курсоров;
Курсоры с параметрами;
Типы исключений: предопределённые, пользовательские;
Обработка исключений в секции EXCEPTION;
Распространение исключений во вложенных блоках;
Директива RAISE_APPLICATION_ERROR;
Прагма EXCEPTION_INIT;
Различия между анонимными блоками и подпрограммами;
Преимущества хранимых подпрограмм;
Параметры: IN, OUT, IN OUT;
Хранение подпрограмм в словаре данных;
Синтаксис CREATE PROCEDURE;
Параметры процедур и режимы передачи;
Вызов процедур из анонимных блоков и других подпрограмм;
Обработка исключений в процедурах;
Удаление и пересоздание процедур;
Синтаксис CREATE FUNCTION и оператор RETURN;
Вызов функций из SQL-запросов;
Ограничения на функции в SQL;
Различия между процедурами и функциями;
Рекомендации по использованию;
Использование DBMS_OUTPUT для отладки;
Отладчик SQL Developer;
Компиляция с информацией для отладки;
Обработка ошибок компиляции: SHOW ERRORS;
Представления USER_ERRORS и USER_OBJECTS;
Компоненты пакета: спецификация и тело;
Синтаксис CREATE PACKAGE и CREATE PACKAGE BODY;
Публичные и приватные элементы пакета;
Инициализация пакета;
Перегрузка подпрограмм в пакетах;
Вызов элементов пакета;
Персистентное состояние пакетных переменных;
Курсоры пакетного уровня;
Прагма SERIALLY_REUSABLE;
Удаление пакетов;
Пакет DBMS_OUTPUT: вывод информации;
Пакет UTL_FILE: работа с файлами ОС;
Пакет DBMS_SQL: динамические запросы;
Пакет UTL_MAIL: отправка электронной почты;
Обзор других полезных стандартных пакетов;
Оператор EXECUTE IMMEDIATE;
Динамические DML и DDL;
Связываемые переменные в динамическом SQL;
Пакет DBMS_SQL для сложных сценариев;
Защита от SQL-инъекций: DBMS_ASSERT;
Типы триггеров: DML, INSTEAD OF;
Триггеры уровня строки и уровня оператора;
Новые и старые значения: :NEW и :OLD;
Условие WHEN для триггеров;
Порядок срабатывания триггеров;
Составные (compound) триггеры;
Триггеры на DDL-события: CREATE, ALTER, DROP;
Триггеры на события базы данных: LOGON, STARTUP, SERVERERROR;
Применение триггеров для аудита и безопасности;
Стандарты именования переменных и подпрограмм;
Обработка ошибок как стандартная практика;
Использование BULK COLLECT и FORALL для производительности;
Избегание распространённых ошибок;
Рекомендации Oracle по написанию PL/SQL;
Уровни оптимизации компилятора: PLSQL_OPTIMIZE_LEVEL;
Встроенная компиляция: PLSQL_CODE_TYPE;
Предупреждения компилятора: PLSQL_WARNINGS;
Условная компиляция;
Прагма INLINE;
Прямые и косвенные зависимости объектов;
Состояния объектов: VALID и INVALID;
Представление USER_DEPENDENCIES;
Управление инвалидацией и перекомпиляцией;
Пакет UTL_RECOMP для массовой перекомпиляции;
Курс, конечно, вводный, но преподаватель отвечал и на вопросы не только в рамках курса. За что ему отдельное спасибо!
Огромное спасибо авторам и предоавателю курса! Закрыли большую часть вопросов, которые у меня были, а так же открыли для меня неочевидные ранее пути решения проблем с кластером Postgres! С огромным удовольствием посещу следующие курсы данного цикла.
Курс супер: всё четко, по делу и с отличной практикой по Postgres!
Базовый курс по администрированию PostgreSQL оказался очень содержательным, с отличными учебными материалами и практической базой. Спасибо преподавателю Олегу Иванову за понятные объяснения и свои комментарии как от очевидного профессионала в данной сфере.
О курсе "PostgreSQL 16. Оптимизация запросов"
Отличный курс "PostgreSQL 16. Оптимизация запросов", материала очень много, как теоретического, так и практического. Курс дает возможность изучить темы быстро. Тем более, что преподаватель курса(Иванов Олег) очень большой профессионал своего дела.
О курсе "PostgreSQL 16. Оптимизация запросов"
Интересный курс. Качественные материалы. Преподаватель Олег Иванов - профессионал своего дела и очень интересный лектор.
О курсе "PostgreSQL 16. Оптимизация запросов"
Курс очень информативный, полезный и интересный, с углубленным изучением того, как работает планировщик запросов, на что лучше обратить внимание при построении запросов, как правильно и эффективно создавать индексы. Курс полезен для разработчиков БД и также для администраторов в качестве инструмента для поиска узких мест при выявлении проблем производительности и нагрузки на сервер.
Отличный курс: материал объясняется ясно, много практических примеров, темп комфортный. Преподаватель Аркадий давал полезную обратную связь и отвечал на все вопросы. Спасибо!
Отличный курс для понимания основных моментов и концепций, подойдет для начала работы с инструментом
О курсе "PostgreSQL 16. Оптимизация запросов"
Курс очень полезный и интересный как для разработчиков Postgresql, так и для администраторов.
Спасибо большое, все очень доступно, наглядно, интересно и очень полезно будет в работе
Полезный курс, многое прояснилось в плане как реализована система защиты и разграничение прав доступа в Astra Linux
В целом для начинающих кто не знаком с YDB курс хороший. Но мне как уже знакомому с настройкой и администрированием хотелось бы более углубленный вещи которые не очевидны из документации сложные кейсы и т.д. Возможно например создать отдельный курс.
Благодарю, курс объемный, много информации. Благодарю за шаблоны документов.
Было очень интересно и лично для меня полезно. Единственный минус - то, что всё это проходит на буднях в рабочее время. Конфликтует сильно с рабочими обязанностями
Хороший курс. Всё очень понятно и доступно. Много практики на удобном стенде. Было интересно.
Очень объёмный и структурированный курс. Охватывает все необходимые аспекты для самостоятельного применения технологий.
Курс понравился. Примеры документов в раздаточном материале особенно полезны
О курсе "Основы SQL: создание переносимого кода"
Курс был полезен, больше подходит для новичков, так как это основа. Но при этом преподаватель, когда рассказывал углублял и разворачивал темы.
Курс был полезен. Показал проблемы и методы решение при миграции с Oracle на PostgerSQL