🗊Презентация Дополнительные возможности курсоров (PL/SQL)

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

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

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


Слайд 1





Дополнительные возможности курсоров
Описание слайда:
Дополнительные возможности курсоров

Слайд 2





	CURSOR cursor_name[(parameter_name datatype, ...)]
	CURSOR cursor_name[(parameter_name datatype, ...)]
	IS select_statement;
Описание слайда:
CURSOR cursor_name[(parameter_name datatype, ...)] CURSOR cursor_name[(parameter_name datatype, ...)] IS select_statement;

Слайд 3





Передача, в виде параметра курсору, номера отдела и должности сотрудника. 
Передача, в виде параметра курсору, номера отдела и должности сотрудника.
Описание слайда:
Передача, в виде параметра курсору, номера отдела и должности сотрудника. Передача, в виде параметра курсору, номера отдела и должности сотрудника.

Слайд 4





При выполнении команды SELECT строки не блокируются. Блокируются строки DML командами , пока не зафиксированы COMMIT, ROLLBACK. 
При выполнении команды SELECT строки не блокируются. Блокируются строки DML командами , пока не зафиксированы COMMIT, ROLLBACK. 
SELECT...FOR UPDATE - все идентифицируемые курсором строки блокируются при его открытии. Никто не сможет менять эти строки до ROLLBACK или COMMIT, другие сеансы могут читать данные (Демонстрация в сноске).
По списку OF, блокируются строки таблиц, строки которых указываются в списке. Без OF, Oracle блокирует все отобранные строки всех таблиц секции FROM.
NOWAIT. Если таблица заблокирована другим пользователем, Oracle ждет ее освобождения. Управление будет возвращено программе. WAIT с указанием максимальной продолжительности ожидания блокировки в секундах. Если ни одно из этих ключевых слов не указано, сеанс блокируется до тех пор, пока таблица не освободится.
Описание слайда:
При выполнении команды SELECT строки не блокируются. Блокируются строки DML командами , пока не зафиксированы COMMIT, ROLLBACK. При выполнении команды SELECT строки не блокируются. Блокируются строки DML командами , пока не зафиксированы COMMIT, ROLLBACK. SELECT...FOR UPDATE - все идентифицируемые курсором строки блокируются при его открытии. Никто не сможет менять эти строки до ROLLBACK или COMMIT, другие сеансы могут читать данные (Демонстрация в сноске). По списку OF, блокируются строки таблиц, строки которых указываются в списке. Без OF, Oracle блокирует все отобранные строки всех таблиц секции FROM. NOWAIT. Если таблица заблокирована другим пользователем, Oracle ждет ее освобождения. Управление будет возвращено программе. WAIT с указанием максимальной продолжительности ожидания блокировки в секундах. Если ни одно из этих ключевых слов не указано, сеанс блокируется до тех пор, пока таблица не освободится.

Слайд 5





	DECLARE
	DECLARE
		CURSOR emp_cursor IS
			SELECT empno, ename, sal FROM emp
			WHERE deptno = 30
		FOR UPDATE OF sal NOWAIT;
Описание слайда:
DECLARE DECLARE CURSOR emp_cursor IS SELECT empno, ename, sal FROM emp WHERE deptno = 30 FOR UPDATE OF sal NOWAIT;

Слайд 6





Использование WHERE CURRENT OF, для модификации или удаления текущей выбранной из курсора строки данных.
Использование WHERE CURRENT OF, для модификации или удаления текущей выбранной из курсора строки данных.
Использование утверждения WHERE CURRENT OF позволяет  ссылаться на текущую строку курсора.
Описание слайда:
Использование WHERE CURRENT OF, для модификации или удаления текущей выбранной из курсора строки данных. Использование WHERE CURRENT OF, для модификации или удаления текущей выбранной из курсора строки данных. Использование утверждения WHERE CURRENT OF позволяет ссылаться на текущую строку курсора.

Слайд 7





DECLARE
DECLARE
CURSOR sal_cursor IS 
	SELECT sal FROM emp WHERE deptno = 30
		FOR UPDATE OF sal NOWAIT;
BEGIN
	FOR emp_record IN sal_cursor 
	LOOP
		UPDATE emp SET sal = emp_record.sal*1.10
		WHERE CURRENT OF sal_cursor;
	END LOOP;
END;
Описание слайда:
DECLARE DECLARE CURSOR sal_cursor IS SELECT sal FROM emp WHERE deptno = 30 FOR UPDATE OF sal NOWAIT; BEGIN FOR emp_record IN sal_cursor LOOP UPDATE emp SET sal = emp_record.sal*1.10 WHERE CURRENT OF sal_cursor; END LOOP; END;

Слайд 8





CURSOR my_cursor IS
CURSOR my_cursor IS
	SELECT t1.deptno, t1.dname, t2.staff
	FROM dept t1, 
		(SELECT deptno,count(*) as STAFF 
			FROM emp GROUP BY deptno) t2
	WHERE t1.deptno = t2.deptno
		AND t2.staff >= 5;
	...
Описание слайда:
CURSOR my_cursor IS CURSOR my_cursor IS SELECT t1.deptno, t1.dname, t2.staff FROM dept t1, (SELECT deptno,count(*) as STAFF FROM emp GROUP BY deptno) t2 WHERE t1.deptno = t2.deptno AND t2.staff >= 5; ...

Слайд 9





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

Слайд 10


Дополнительные возможности курсоров (PL/SQL), слайд №10
Описание слайда:

Слайд 11


Дополнительные возможности курсоров (PL/SQL), слайд №11
Описание слайда:

Слайд 12





Преимуществом курсорных переменных является то, что они предоставляют механизм передачи результатов запроса (выбранных из строк курсора) между программами PL/SQL, в том числе между клиентскими и серверными программами. Курсорная переменная позволяет передать другой программе ссылку на объект курсора, чтобы та могла работать с его данными.
Преимуществом курсорных переменных является то, что они предоставляют механизм передачи результатов запроса (выбранных из строк курсора) между программами PL/SQL, в том числе между клиентскими и серверными программами. Курсорная переменная позволяет передать другой программе ссылку на объект курсора, чтобы та могла работать с его данными.
С курсорными переменными может использоваться операция присваивания
Описание слайда:
Преимуществом курсорных переменных является то, что они предоставляют механизм передачи результатов запроса (выбранных из строк курсора) между программами PL/SQL, в том числе между клиентскими и серверными программами. Курсорная переменная позволяет передать другой программе ссылку на объект курсора, чтобы та могла работать с его данными. Преимуществом курсорных переменных является то, что они предоставляют механизм передачи результатов запроса (выбранных из строк курсора) между программами PL/SQL, в том числе между клиентскими и серверными программами. Курсорная переменная позволяет передать другой программе ссылку на объект курсора, чтобы та могла работать с его данными. С курсорными переменными может использоваться операция присваивания

Слайд 13





C Oracle 9 появился предопределенный  тип REF CURSOR с именем SYS_REFCURSOR. Не нужно определять собственный тип — достаточно использовать стандартный тип Oracle. 
C Oracle 9 появился предопределенный  тип REF CURSOR с именем SYS_REFCURSOR. Не нужно определять собственный тип — достаточно использовать стандартный тип Oracle. 
Нет разницы между REF CURSOR и SYS_REFCURSOR , так как по факту 
определение sys_refcursor  такое : type sys_refcursor is ref cursor;
Описание слайда:
C Oracle 9 появился предопределенный тип REF CURSOR с именем SYS_REFCURSOR. Не нужно определять собственный тип — достаточно использовать стандартный тип Oracle. C Oracle 9 появился предопределенный тип REF CURSOR с именем SYS_REFCURSOR. Не нужно определять собственный тип — достаточно использовать стандартный тип Oracle. Нет разницы между REF CURSOR и SYS_REFCURSOR , так как по факту определение sys_refcursor такое : type sys_refcursor is ref cursor;

Слайд 14


Дополнительные возможности курсоров (PL/SQL), слайд №14
Описание слайда:

Слайд 15





Итоги
Использование курсоров с параметрами
Определение курсоров с подзапросами и коррелированными подзапросами.
Команды для курсоров
FOR UPDATE
WHERE CURRENT OF
Описание слайда:
Итоги Использование курсоров с параметрами Определение курсоров с подзапросами и коррелированными подзапросами. Команды для курсоров FOR UPDATE WHERE CURRENT OF

Слайд 16





Практика №7!
40 минут
Описание слайда:
Практика №7! 40 минут



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