🗊Презентация Программирование на языке PL/SQL. Часть 3

Категория: Информатика
Нажмите для полного просмотра!
Программирование на языке PL/SQL. Часть 3, слайд №1Программирование на языке PL/SQL. Часть 3, слайд №2Программирование на языке PL/SQL. Часть 3, слайд №3Программирование на языке PL/SQL. Часть 3, слайд №4Программирование на языке PL/SQL. Часть 3, слайд №5Программирование на языке PL/SQL. Часть 3, слайд №6Программирование на языке PL/SQL. Часть 3, слайд №7Программирование на языке PL/SQL. Часть 3, слайд №8Программирование на языке PL/SQL. Часть 3, слайд №9Программирование на языке PL/SQL. Часть 3, слайд №10Программирование на языке PL/SQL. Часть 3, слайд №11Программирование на языке PL/SQL. Часть 3, слайд №12Программирование на языке PL/SQL. Часть 3, слайд №13Программирование на языке PL/SQL. Часть 3, слайд №14Программирование на языке PL/SQL. Часть 3, слайд №15Программирование на языке PL/SQL. Часть 3, слайд №16Программирование на языке PL/SQL. Часть 3, слайд №17Программирование на языке PL/SQL. Часть 3, слайд №18

Вы можете ознакомиться и скачать презентацию на тему Программирование на языке PL/SQL. Часть 3. Доклад-сообщение содержит 18 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Курс «Базы данных»

Тема. Программирование 
на языке PL/SQL. Часть 3
Барабанщиков
Игорь Витальевич
Описание слайда:
Курс «Базы данных» Тема. Программирование на языке PL/SQL. Часть 3 Барабанщиков Игорь Витальевич

Слайд 2





План лекции
Явные курсоры
Цикл FOR с курсором
Создание хранимых процедур
Вызов хранимых процедур
Сопровождение хранимых процедур
Описание слайда:
План лекции Явные курсоры Цикл FOR с курсором Создание хранимых процедур Вызов хранимых процедур Сопровождение хранимых процедур

Слайд 3





Явные курсоры
Для выполнения команд SQL сервер Oracle использует рабочие области памяти, которые называют частная область SQL.
Программист может создавать явные курсоры.  
В этом случае можно обращаться к частной области SQL по имени и обращаться к находящейся в ней информации.
Описание слайда:
Явные курсоры Для выполнения команд SQL сервер Oracle использует рабочие области памяти, которые называют частная область SQL. Программист может создавать явные курсоры. В этом случае можно обращаться к частной области SQL по имени и обращаться к находящейся в ней информации.

Слайд 4





Типы курсоров
Описание слайда:
Типы курсоров

Слайд 5





Активный набор
Явные курсоры используются для индивидуальной обработки каждой строки, возвращаемой многострочной командой SELECT.
Набор строк, возвращаемых многострочным запросом, называется активным набором.
Курсор указывает на текущую строку в активном наборе.
Описание слайда:
Активный набор Явные курсоры используются для индивидуальной обработки каждой строки, возвращаемой многострочной командой SELECT. Набор строк, возвращаемых многострочным запросом, называется активным набором. Курсор указывает на текущую строку в активном наборе.

Слайд 6





Управление  явным  курсором
Объявление курсора – курсору присваивается имя и определяется структура запроса.
Открытие курсора – выполняется запрос, строки из активного набора доступны для выборки.
Выборка данных – проверка наличия и извлечение текущей строки.
Закрытие курсора – освобождается область памяти.
Описание слайда:
Управление явным курсором Объявление курсора – курсору присваивается имя и определяется структура запроса. Открытие курсора – выполняется запрос, строки из активного набора доступны для выборки. Выборка данных – проверка наличия и извлечение текущей строки. Закрытие курсора – освобождается область памяти.

Слайд 7





Пример  работы  с  курсором
DECLARE
    CURSOR c_emp  IS    -- 1: описание явного курсора
       SELECT  last_name  FROM  emp  WHERE  dept=10;
    v_name   emp.name%TYPE;
BEGIN
    OPEN  c_emp;            -- 2: открытие курсора
    LOOP
        FETCH  c_emp  INTO  v_name;        -- 3: извлечение строки
         dbms_output.put_line(v_name);
        EXIT  WHEN c_emp%NOTFOUND;  -- 3: проверка
    END  LOOP;
    CLOSE  c_emp;             -- 4: закрытие курсора
END;
Описание слайда:
Пример работы с курсором DECLARE CURSOR c_emp IS -- 1: описание явного курсора SELECT last_name FROM emp WHERE dept=10; v_name emp.name%TYPE; BEGIN OPEN c_emp; -- 2: открытие курсора LOOP FETCH c_emp INTO v_name; -- 3: извлечение строки dbms_output.put_line(v_name); EXIT WHEN c_emp%NOTFOUND; -- 3: проверка END LOOP; CLOSE c_emp; -- 4: закрытие курсора END;

Слайд 8





Записи  и  курсоры
Строки активного набора удобно обрабатывать, выбирая значения в переменную PL/SQL типа RECORD.
Можно определить запись с использованием структуры строки таблицы.
Это удобно для обработки строк активного набора, так как можно делать выборку прямо в запись.
При этом значения строки загружаются в соответствующие поля записи.
Описание слайда:
Записи и курсоры Строки активного набора удобно обрабатывать, выбирая значения в переменную PL/SQL типа RECORD. Можно определить запись с использованием структуры строки таблицы. Это удобно для обработки строк активного набора, так как можно делать выборку прямо в запись. При этом значения строки загружаются в соответствующие поля записи.

Слайд 9





Пример  работы  с  записью
DECLARE
    CURSOR  c_emp  IS  SELECT  *  FROM  emp;
    v_emp    emp%ROWTYPE;
BEGIN
    OPEN  c_emp;
    LOOP
        FETCH  c_emp  INTO  v_emp;
        dbms_output.put_line(v_emp.name);
        EXIT  WHEN  c_emp%NOTFOUND;  
    END LOOP;
    CLOSE  c_emp;
END;
Описание слайда:
Пример работы с записью DECLARE CURSOR c_emp IS SELECT * FROM emp; v_emp emp%ROWTYPE; BEGIN OPEN c_emp; LOOP FETCH c_emp INTO v_emp; dbms_output.put_line(v_emp.name); EXIT WHEN c_emp%NOTFOUND; END LOOP; CLOSE c_emp; END;

Слайд 10





Циклы  FOR  с  курсором
Сокращенная форма кодирования операций с явными курсорами.
Неявное открытие, выборки и закрытие.
Запись объявляется неявно.
FOR  имя_записи  IN  имя_курсора  LOOP
     команда1;
     команда2;
     . . .
END  LOOP;
Описание слайда:
Циклы FOR с курсором Сокращенная форма кодирования операций с явными курсорами. Неявное открытие, выборки и закрытие. Запись объявляется неявно. FOR имя_записи IN имя_курсора LOOP команда1; команда2; . . . END LOOP;

Слайд 11





Пример цикл FOR с курсором
DECLARE
    CURSOR c_emp  IS  SELECT  *  FROM emp;
BEGIN
    FOR  v_rec  IN  c_emp  LOOP
        dbms_output.put_line(v_rec.name);
    END  LOOP;
END;
Описание слайда:
Пример цикл FOR с курсором DECLARE CURSOR c_emp IS SELECT * FROM emp; BEGIN FOR v_rec IN c_emp LOOP dbms_output.put_line(v_rec.name); END LOOP; END;

Слайд 12





Процедуры и функции
Это именованные блоки PL/SQL
Их называют подпрограммы PL/SQL
Они компилируются и сохраняются в БД
Их можно повторно использовать, вызывая по имени.
Имеют блочную структуру, похожую на структуру анонимного блока:
    - декларативная секция (без DECLARE)
    - исполняемая секция
    - секция обработки исключений
Описание слайда:
Процедуры и функции Это именованные блоки PL/SQL Их называют подпрограммы PL/SQL Они компилируются и сохраняются в БД Их можно повторно использовать, вызывая по имени. Имеют блочную структуру, похожую на структуру анонимного блока: - декларативная секция (без DECLARE) - исполняемая секция - секция обработки исключений

Слайд 13





Анонимные блоки и подпрограммы
Описание слайда:
Анонимные блоки и подпрограммы

Слайд 14





Синтаксис процедуры
CREATE  [OR  REPLACE]  PROCEDURE имя_проц
  [ (аргумент1 [тип_параметра1] тип_данных1,
  [  аргумент2 [тип_параметра2] тип_данных2,
  . . .) ]
  IS | AS
  тело_процедуры;
Где  тип_параметра = IN | OUT | IN OUT
Описание слайда:
Синтаксис процедуры CREATE [OR REPLACE] PROCEDURE имя_проц [ (аргумент1 [тип_параметра1] тип_данных1, [ аргумент2 [тип_параметра2] тип_данных2, . . .) ] IS | AS тело_процедуры; Где тип_параметра = IN | OUT | IN OUT

Слайд 15





Пример процедуры
CREATE  OR  REPLACE  PROCEDURE  add_dept
    (p_id        IN  dept.deptno%TYPE,
     p_name  IN  dept.name%TYPE)
IS
   v_cnt  BINARY_INTEGER;
BEGIN
   SELECT  count(*)  INTO  v_cnt 
        FROM  dept  WHERE  deptno = p_id;
   IF  v_cnt = 0  THEN
        INSERT INTO dept(deptno, name) VALUES(p_id, p_name);
   ELSE
        dbms_output.put_line(‘Такой отдел уже есть в БД’);
   END IF;
END;
Описание слайда:
Пример процедуры CREATE OR REPLACE PROCEDURE add_dept (p_id IN dept.deptno%TYPE, p_name IN dept.name%TYPE) IS v_cnt BINARY_INTEGER; BEGIN SELECT count(*) INTO v_cnt FROM dept WHERE deptno = p_id; IF v_cnt = 0 THEN INSERT INTO dept(deptno, name) VALUES(p_id, p_name); ELSE dbms_output.put_line(‘Такой отдел уже есть в БД’); END IF; END;

Слайд 16





Вызов процедуры
Неявная позиционная нотация
    BEGIN
        add_dept(50, ‘Отдел АСУ’);
    END;
Явная именованная нотация
    BEGIN
        add_dept(p_id => 50, p_name => ‘Отдел АСУ’);
    END;
Описание слайда:
Вызов процедуры Неявная позиционная нотация BEGIN add_dept(50, ‘Отдел АСУ’); END; Явная именованная нотация BEGIN add_dept(p_id => 50, p_name => ‘Отдел АСУ’); END;

Слайд 17





Сопровождение процедур
Перекомпиляция процедуры
    ALTER  PROCEDURE  add_emp  COMPILE;
Удаление процедуры
    DROP  PROCEDURE  add_emp;
Просмотр текста процедуры
   SELECT text FROM user_source 
       WHERE name=‘ADD_EMP‘
       ORDER  BY  line;
Описание слайда:
Сопровождение процедур Перекомпиляция процедуры ALTER PROCEDURE add_emp COMPILE; Удаление процедуры DROP PROCEDURE add_emp; Просмотр текста процедуры SELECT text FROM user_source WHERE name=‘ADD_EMP‘ ORDER BY line;

Слайд 18





Итоги
Явные курсоры удобно использовать, когда надо индивидуально обработать каждую запись возвращаемого набора результатов.
Цикл FOR с курсором наиболее удобная и компактная конструкция для работы с явными курсорами.
Описание слайда:
Итоги Явные курсоры удобно использовать, когда надо индивидуально обработать каждую запись возвращаемого набора результатов. Цикл FOR с курсором наиболее удобная и компактная конструкция для работы с явными курсорами.



Похожие презентации
Mypresentation.ru
Загрузить презентацию