Введение в СУБД "Oracle". Космачев В.М - 65 стр.

UptoLike

ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
65
Пример 2.3.27
SQL>CREATE OR REPLACE FUNCTION SumRecInt (Argl IN NUMBER, Arg2 IN NUMBER)
2 RETURN NUMBER
3 IS
4 Sum_Var NUMBER:=0.0;
5 BEGIN
7 SELECT Sum(LECT_ID) INTO Sum_Var FROM SUBJLECT
WHERE SUBJ_ID BETWEEN Argl AND Arg2;
8 RETURN Sum_Var;
9 END;
/
FUNCTION CREATED
Если характер использования приложений изменился, то для освобождения ресурсов базы данных может
потребоваться уничтожить процедуру или функцию. В собственной схеме пользователю не требуются
дополнительные привилегии для уничтожения процедуры или функции. Для уничтожения процедуры или функции в
схеме другого пользователя необходимо наличие привилегии DROP ANY PROCEDURE.
Для уничтожения {процедуры | функции} ORACLE использует следующий синтаксис:
DROP {PROCEDURE | FUNCTION} [схема.]имя_процедуры
Например
SQL>DROP FUNCTION SumRecInt
Function dropped;
Упражнения
14. Описать процедуру, которая заносит данные в таблицу STUDENT в зависимости от параметров процедуры,
вызвать эту процедуру.
15. Описать процедуру, которая заносит данные в таблицы STUDENT и EXAM_MARKS с соблюдением ссылочной
целостности, в зависимости от параметров процедуры, вызвать эту процедуру.
16. Описать процедуру, которая заносит данные в таблицы STUDENT и SUBJECT с соблюдением ссылочной
целостности, в зависимости от параметров процедуры, вызвать эту процедуру.
17. Описать процедуру, которая заносит данные в таблицы STUDENT и UNIVERSITY с соблюдением
ссылочной целостности, в зависимости от параметров процедуры, вызвать эту процедуру.
18. Описать процедуру, которая заносит данные в таблицу LECTURE в зависимости от параметров процедуры,
вызвать эту процедуру.
19. Описать и вызвать функцию, которая вычисляет сумму баллов для студентов, номера которых находятся в
заданном интервале в таблице EXAM_MARKS.
20. Описать и вызвать функцию, которая вычисляет для студентов, номера которых находятся в данном диапазоне,
максимальный балл по заданному предмету (с некоторым номером) в таблице EXAM_MARKS.
21. Описать и вызвать функцию, которая определяет для студентов с заданной фамилией сумму баллов по
заданному предмету в таблице EXAM_MARKS.
22. Описать и вызвать функцию, которая вычисляет для студентов, номера которых находятся в данном диапазоне,
максимальный балл по заданному названию предмета.
23. Описать и вызвать функцию, которая вычисляет для студентов, номера которых находятся в данном диапазоне,
средний балл по заданному названию предмета.
2.3.9. Пакеты PL/SQL
Модульэто конструкция PL/SQL, которая позволяет хранить связанные объекты в одном месте. Модули бывают
только хранимыми и никогда локальными. Модульэто именованный раздел объявлений. Все, что может входит в
раздел объявлений блока, может входить и в модуль: типы, переменные, процедуры, функции, курсоры. Размещение