🗊 Презентация Oracle 12с. Курсоры (PL/SQL, лекция 10)

Категория: Информатика
Нажмите для полного просмотра!
Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №1 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №2 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №3 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №4 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №5 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №6 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №7 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №8 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №9 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №10 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №11 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №12 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №13 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №14 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №15 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №16 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №17 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №18 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №19 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №20 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №21 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №22 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №23 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №24 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №25 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №26 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №27 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №28 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №29 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №30 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №31 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №32 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №33 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №34 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №35 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №36 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №37 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №38 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №39 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №40 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №41 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №42 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №43 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №44 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №45 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №46 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №47 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №48 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №49 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №50 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №51 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №52 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №53 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №54 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №55 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №56 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №57 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №58 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №59 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №60 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №61 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №62 Oracle 12с. Курсоры (PL/SQL, лекция 10), слайд №63

Содержание

Вы можете ознакомиться и скачать презентацию на тему Oracle 12с. Курсоры (PL/SQL, лекция 10). Доклад-сообщение содержит 63 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


ORACLE 12с
Описание слайда:
ORACLE 12с

Слайд 2


Курсоры Курсор — объект БД, который позволяет приложениям работать с записями построчно. Поддерживаются два типа курсоров: явный — объявляется...
Описание слайда:
Курсоры Курсор — объект БД, который позволяет приложениям работать с записями построчно. Поддерживаются два типа курсоров: явный — объявляется разработчиком; неявный — не требует объявления. Курсор может возвращать одну строку, несколько строк или ни одной строки. Для повторного создания результирующего набора для других значений параметров курсор следует закрыть, а затем повторно открыть.

Слайд 3


Операторы управления явным курсором DECLARE — выполняет объявление явного курсора. OPEN — открывает курсор, создавая новый результирующий набор на...
Описание слайда:
Операторы управления явным курсором DECLARE — выполняет объявление явного курсора. OPEN — открывает курсор, создавая новый результирующий набор на базе указанного запроса. FETCH — выполняет последовательное извлечение строк из результирующего набора от начала до конца. CLOSE — закрывает курсор и освобождает занимаемые им ресурсы.

Слайд 4


Атрибуты курсора %ISOPEN — возвращает значение TRUE, если курсор открыт. %FOUND — определяет, найдена ли строка, удовлетворяющая условию. %NOTFOUND —...
Описание слайда:
Атрибуты курсора %ISOPEN — возвращает значение TRUE, если курсор открыт. %FOUND — определяет, найдена ли строка, удовлетворяющая условию. %NOTFOUND — возвращает TRUE, если строка не найдена. %ROWCOUNT — возвращает номер текущей строки.

Слайд 5


Курсоры Курсор Oracle – указатель на область в PGA, в которой хранится: 1)строки запроса, 2)число строк, 3)указатель на разобранный запрос в общем...
Описание слайда:
Курсоры Курсор Oracle – указатель на область в PGA, в которой хранится: 1)строки запроса, 2)число строк, 3)указатель на разобранный запрос в общем пуле. Открытие курсора – создание контекстной области PGA – создается моментальный снимок (snapshot) данных запроса.

Слайд 6


Курсоры PL/SQL позволяет создавать 2 вида курсоров: 1) Статические курсоры, SQL выражение для которых определяется на этапе компиляции: Используются...
Описание слайда:
Курсоры PL/SQL позволяет создавать 2 вида курсоров: 1) Статические курсоры, SQL выражение для которых определяется на этапе компиляции: Используются для DML команд Могут быть явно объявлены и именованы 2) Динамические курсоры, SQL выражение для которых определяется на этапе выполнения: Могут использоваться для любых SQL выражений, включая DDL и DCL команды Реализуются с помощью оператора EXECUTE IMMEDIATE или пакета dbms_sql

Слайд 7


Неявные курсоры Неявные курсор – выполнение SQL выражения в секции исполнения или в секции исключений блока Операторы INSERT, UPDATE, DELETE, MERGE,...
Описание слайда:
Неявные курсоры Неявные курсор – выполнение SQL выражения в секции исполнения или в секции исключений блока Операторы INSERT, UPDATE, DELETE, MERGE, SELECT INTO Не требуют объявления Не требуют OPEN, FETCH, CLOSE

Слайд 8


Неявные курсоры Когда неявный курсор не возвращает строк вообще, PL/SQL генерирует исключение NO_DATA_FOUND и передает управление в секцию...
Описание слайда:
Неявные курсоры Когда неявный курсор не возвращает строк вообще, PL/SQL генерирует исключение NO_DATA_FOUND и передает управление в секцию исключений. Когда SELECT возвращает более одной строки, PL/SQL генерирует исключение TOO_MANY_ROWS и также передает управление в секцию исключений. SELECT INTO предназначен исключительно для того, чтобы возвращать ровно 1 строку – точную выборку

Слайд 9


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

Слайд 10


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

Слайд 11


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

Слайд 12


PRAGMA Ключевое слово PRAGMA используется для того, чтобы указать директиву компилятору PL/SQL; PRAGMA instruction; Не транслируется в исполняемый...
Описание слайда:
PRAGMA Ключевое слово PRAGMA используется для того, чтобы указать директиву компилятору PL/SQL; PRAGMA instruction; Не транслируется в исполняемый код; Разрешается использовать в секции декларации текущего блока;

Слайд 13


PRAGMA
Описание слайда:
PRAGMA

Слайд 14


Неявные курсоры – исключения
Описание слайда:
Неявные курсоры – исключения

Слайд 15


Неявные курсоры – исключения
Описание слайда:
Неявные курсоры – исключения

Слайд 16


Неявные курсоры – атрибуты курсора
Описание слайда:
Неявные курсоры – атрибуты курсора

Слайд 17


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

Слайд 18


Неявные курсоры – UPDATE
Описание слайда:
Неявные курсоры – UPDATE

Слайд 19


Неявные курсоры – UPDATE
Описание слайда:
Неявные курсоры – UPDATE

Слайд 20


Неявные курсоры –INSERT
Описание слайда:
Неявные курсоры –INSERT

Слайд 21


Неявные курсоры –INSERT
Описание слайда:
Неявные курсоры –INSERT

Слайд 22


Неявные курсоры –INSERT
Описание слайда:
Неявные курсоры –INSERT

Слайд 23


Неявные курсоры – DELETE
Описание слайда:
Неявные курсоры – DELETE

Слайд 24


Неявные курсоры – DELETE
Описание слайда:
Неявные курсоры – DELETE

Слайд 25


Неявные курсоры – RETURNING RETURNING в выражениях INSERT, UPDATE, DELETE используется для получения данных, измененных соответствующим выражением....
Описание слайда:
Неявные курсоры – RETURNING RETURNING в выражениях INSERT, UPDATE, DELETE используется для получения данных, измененных соответствующим выражением. Позволяет избежать дополнительного SELECT для уточнения результатов.

Слайд 26


Неявные курсоры – RETURNING
Описание слайда:
Неявные курсоры – RETURNING

Слайд 27


Неявные курсоры – RETURNING
Описание слайда:
Неявные курсоры – RETURNING

Слайд 28


Неявные курсоры – RETURNING
Описание слайда:
Неявные курсоры – RETURNING

Слайд 29


Явные курсоры Этапы открытия явного курсора: разбор [parse] связывание переменных [bind] выполнение [execute] построение плана выполнения запроса...
Описание слайда:
Явные курсоры Этапы открытия явного курсора: разбор [parse] связывание переменных [bind] выполнение [execute] построение плана выполнения запроса [determining execution plan] связывание внешних переменных [associating host variables] и курсорных параметров определение набора данных выставление указателя текущей строки на первую строку в результирующем наборе данных

Слайд 30


Явные курсоры Открытие явного курсора: OPEN cursor_name [(argument [,argument ...])]; Выборка из явного курсора: FETCH cursor_name INTO record or...
Описание слайда:
Явные курсоры Открытие явного курсора: OPEN cursor_name [(argument [,argument ...])]; Выборка из явного курсора: FETCH cursor_name INTO record or variable_list; Закрытие явного курсора: CLOSE cursor_name;

Слайд 31


Курсоры
Описание слайда:
Курсоры

Слайд 32


Явные курсоры Объявляются явно в секции декларации блока или в спецификации пакета. Объявления явного курсора: Курсор без параметров CURSOR...
Описание слайда:
Явные курсоры Объявляются явно в секции декларации блока или в спецификации пакета. Объявления явного курсора: Курсор без параметров CURSOR company_cur IS SELECT company_id FROM company; Курсор, который принимает параметры через список CURSOR company__cur (id_in IN NUMBER) IS SELECT name FROM company WHERE company_id = id_in; Курcор, который содержит выражение RETURN вместо SELECT CURSOR company_cur (id_in IN NUMBER) RETURN company%ROWTYPE;

Слайд 33


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

Слайд 34


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

Слайд 35


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

Слайд 36


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

Слайд 37


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

Слайд 38


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

Слайд 39


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

Слайд 40


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

Слайд 41


WHERE CURRENT OF Можно изменять текущую строку курсора FOR UPDATE: DECLARE CURSOR wip_cur IS SELECT acct_no, enter_date FROM wip WHERE enter_date <...
Описание слайда:
WHERE CURRENT OF Можно изменять текущую строку курсора FOR UPDATE: DECLARE CURSOR wip_cur IS SELECT acct_no, enter_date FROM wip WHERE enter_date < SYSDATE - 7 FOR UPDATE; BEGIN FOR wip_rec IN wip_cur LOOP INSERT INTO acct_log (acct_no, order_date) VALUES (wip_rec . acct_no, wip__rec . enter_ date); DELETE FROM wip WHERE CURRENT OF wip__cur; END LOOP; END;

Слайд 42


WHERE CURRENT OF
Описание слайда:
WHERE CURRENT OF

Слайд 43


WHERE CURRENT OF
Описание слайда:
WHERE CURRENT OF

Слайд 44


Использование ROWID
Описание слайда:
Использование ROWID

Слайд 45


Использование ROWID
Описание слайда:
Использование ROWID

Слайд 46


Использование ROWNUM ROWNUM - логический номер записи в запросе
Описание слайда:
Использование ROWNUM ROWNUM - логический номер записи в запросе

Слайд 47


SELECT FOR UPDATE FOR UPDATE используется для блокировки строк в результирующем наборе. Использование FOR UPDATE не требует действительного изменения...
Описание слайда:
SELECT FOR UPDATE FOR UPDATE используется для блокировки строк в результирующем наборе. Использование FOR UPDATE не требует действительного изменения данных. Блокировки освобождаются по завершению транзакции. Синтаксис: SELECT ... FROM ... FOR UPDATE [OF column_reference] [NOWAIT]; NOWAIT – не ожидать освобождения других блокировок.

Слайд 48


SELECT FOR UPDATE DECLARE CURSOR hounds_in_stock_cur IS SELECT pet.stock_no, pet.breeder, dog.size FROM dog_breeds dog, inventory pet WHERE dog.breed...
Описание слайда:
SELECT FOR UPDATE DECLARE CURSOR hounds_in_stock_cur IS SELECT pet.stock_no, pet.breeder, dog.size FROM dog_breeds dog, inventory pet WHERE dog.breed = pet.breed AND dog.class = ‘HOUND’ FOR UPDATE OF pet.stock_no, pet.breeder;

Слайд 49


Курсорные переменные Курсорные переменные - это структуры данных, которые указывают на курсорный объект. Используются для: Передачи курсора в...
Описание слайда:
Курсорные переменные Курсорные переменные - это структуры данных, которые указывают на курсорный объект. Используются для: Передачи курсора в качестве параметра, Чтобы отложить связь курсора с SELECT-запросом до выполнения команды OPEN

Слайд 50


Курсорные переменные
Описание слайда:
Курсорные переменные

Слайд 51


Курсорные переменные Курсорная переменная, объявленная с помощью REF CURSOR без указания RETURN может быть связана с любым запросом. Курсорная...
Описание слайда:
Курсорные переменные Курсорная переменная, объявленная с помощью REF CURSOR без указания RETURN может быть связана с любым запросом. Курсорная переменная, объявленная с помощью REF CURSOR с указанием RETURN может быть связана только с запросом, который возвращает результат точно соответствующий числу и типам данных в записи после фразы RETURN во время выполнения.

Слайд 52


Курсорные переменные
Описание слайда:
Курсорные переменные

Слайд 53


Курсорные переменные
Описание слайда:
Курсорные переменные

Слайд 54


Курсорные переменные
Описание слайда:
Курсорные переменные

Слайд 55


Курсорные подзапросы
Описание слайда:
Курсорные подзапросы

Слайд 56


Динамические курсоры EXECUTE IMMEDIATE - однострочные запросы и DDL команды, OPEN FOR, FETCH и CLOSE - динамические многострочные запросы. Синтаксис...
Описание слайда:
Динамические курсоры EXECUTE IMMEDIATE - однострочные запросы и DDL команды, OPEN FOR, FETCH и CLOSE - динамические многострочные запросы. Синтаксис EXECUTE IMMEDIATE: EXECUTE IMMEDIATE sql_statement [INTO {variable [,variable ...] | record}] [USING [IN | OUT | IN OUT] bind_argument [, [IN | OUT | IN OUT] bind_argument . ..] ] [{RETURNING | RETURN} INTO bind_argument [,bind_argument]...];

Слайд 57


Динамические курсоры
Описание слайда:
Динамические курсоры

Слайд 58


Динамические курсоры
Описание слайда:
Динамические курсоры

Слайд 59


Динамические курсоры Для улучшения производительности выполнения SQL выражений можно использовать динамические курсоры со связанными переменными. Это...
Описание слайда:
Динамические курсоры Для улучшения производительности выполнения SQL выражений можно использовать динамические курсоры со связанными переменными. Это позволяет серверу Oracle повторно использовать разобранные SQL выражения из разделяемого пула. EXECUTE IMMEDIATE ‘INSERT INTO dept (deptno, dname, loc) VALUES (:deptno, :dname, :loc)' USING deptno_in, dname_in, loc_in;

Слайд 60


Динамические курсоры - OPEN FOR DECLARE TYPE cv_typ IS REF CURSOR; CV cv_typ; laccount_no NUMBER; Ibalance NUMBER; BEGIN OPEN cv FOR 'SELECT...
Описание слайда:
Динамические курсоры - OPEN FOR DECLARE TYPE cv_typ IS REF CURSOR; CV cv_typ; laccount_no NUMBER; Ibalance NUMBER; BEGIN OPEN cv FOR 'SELECT account_no, balance FROM accounts WHERE balance < 500'; LOOP FETCH cv INTO laccount_no, Ibalance; EXIT WHEN cv%NOTFOUND; -- Process the row. END LOOP; CLOSE cv; END;

Слайд 61


Параметры Oracle, связанные с курсорами cursor_space_for_time = {TRUE|FALSE} – больший объем памяти для курсоров и никогда не освобождается....
Описание слайда:
Параметры Oracle, связанные с курсорами cursor_space_for_time = {TRUE|FALSE} – больший объем памяти для курсоров и никогда не освобождается. Применяется для увеличения скорости работы курсоров при наличии памяти для разделяемого пула. cursor_sharing = {EXACT|SIMILAR|FORCE} open_cursors - максимальное количество открытых курсоров. session_cached_cursors – максимальное количество кэшируемых курсоров для сессии.

Слайд 62


Параметры Oracle, связанные с курсорами
Описание слайда:
Параметры Oracle, связанные с курсорами

Слайд 63


Вопросы?
Описание слайда:
Вопросы?



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