Содержание
- 2. План лекции Использование SQL в PL/SQL Неявные курсоры Управляющие конструкции
- 3. Использование SQL в PL/SQL В процедурах PL/SQL можно использовать команды SQL. Выборка строки данных из БД
- 4. Команды SQL в PL/SQL Ключевое слово END означает конец блока, а не завершение транзакции. Один блок
- 5. Команда SELECT в PL/SQL Значения, выбираемые по команде SELECT, должны запоминаться в переменных, указанных во фразе
- 6. Пример команды SELECT DECLARE v_name VARCHAR2(20); v_date employees.hiredate%TYPE; BEGIN -- выборка данных из таблицы в переменную
- 7. Манипулирование данными DECLARE v_sal employees.salary%TYPE; BEGIN SELECT salary INTO v_sal FROM emploees WHERE emp_id = 105;
- 8. Обработка команд SQL Сервер БД выделяет для обработки команд SQL приватную область памяти, называемую контекстной областью.
- 9. Явный и неявный курсоры Курсор – это указатель на контекстную область. Когда в блоке выполняется команда
- 10. Атрибуты курсора
- 11. Атрибуты курсора Атрибуты курсора позволяют выяснить что произошло при выполнении последней команды SQL. Атрибуты курсора можно
- 12. Пример DECLARE v_count BINARY_INTEGER; BEGIN UPDATE employees SET salary=salary+1000 WHERE deptno = 10; v_count := SQL%ROWCOUNT;
- 13. Функции SQL в PL/SQL Большинство встроенных функций SQL доступно и в выражениях PL/SQL: Однострочные числовые функции
- 14. Примеры использования функций Определение длины строки v_name := ‘Иванов’; v_size := LENGTH(v_name); Преобразование в верхний регистр
- 15. Управление потоком выполнения Изменить поток выполнения в блоке PL/SQL можно с помощью набора управляющих структур: Оператор
- 16. Команда условного управления IF IF условие THEN команды; [ ELSIF условие THEN -- необязательная часть команды;
- 17. Примеры IF
- 18. Пример IF…ELSIF…ELSE DECLARE v_age NUMBER(3) := 50; BEGIN IF v_age dbms_output.put_line(‘Ребенок’); ELSIF v_age dbms_output.put_line(‘Подросток’); ELSIF v_age
- 19. Простой оператор CASE Выражение-переключатель сравнивается со значением в предложении WHEN. CASE выражение-переключатель WHEN значение1 THEN команда1;
- 20. Пример простого CASE CASE v_znak WHEN ‘+’ THEN v_rezult := v_arg1 + v_arg2; WHEN ‘-’ THEN
- 21. Поисковый оператор CASE Не имеет переключателя. Вместо этого каждое предложение WHEN содержит логическое выражение. CASE WHEN
- 22. Пример поискового CASE CASE WHEN region_id = ‘Урал’ THEN mgr := ‘Иванов’; WHEN division_id = ‘Бухгалтерия’
- 23. Операторы цикла в PL/SQL PL/SQL предоставляет следующие типы циклов: Простой цикл – повторное выполнение действий без
- 24. Простой цикл Это группа повторно выполняемых команд, ограниченных словами LOOP … END LOOP. Если отсутствует команда
- 25. Пример простого цикла DECLARE v_count BINARY_INTEGER := 0; BEGIN LOOP v_count := v_count + 1; dbms_output.put_line(‘номер=‘||v_count);
- 26. Цикл WHILE Используется для повторного выполнения последовательности команд, пока ИСТИННО заданное условие. WHILE условие LOOP команда1;
- 27. Пример цикла WHILE DECLARE v_count BINARY_INTEGER := 0; BEGIN WHILE v_count v_count := v_count + 1;
- 28. Цикл FOR Объявление индекса (переменной цикла) не требуется, он объявляется неявно. Обязательно надо задать нижнюю и
- 29. Пример цикла FOR DECLARE /* переменную цикла объявлять не надо!!! */ BEGIN FOR v_count IN 1..5
- 31. Скачать презентацию