Базы данных Oracle - статьи

         

Создание пакета в PL/SQL


Приводимые ниже примеры в каждой из трех сред программирования будут использовать для доступа к БД через ссылку на курсор один и тот же пакет. В реальной жизни именно на подобный пакет и ляжет описание требуемой программной логики. Тут же он воимя наглядности устроен максимально просто, (почти) безо всякой программно-прикладной логики, но это обстоятельство и обеспечивает ему универсальность.

Выдадим в SQL*Plus: CONNECT scott/tiger

CREATE OR REPLACE PACKAGE generic_ref_cursor AS PROCEDURE get_ref_cursor(sqlselect IN VARCHAR2, rc OUT sys_refcursor); END; /

CREATE OR REPLACE PACKAGE BODY generic_ref_cursor AS PROCEDURE get_ref_cursor(sqlselect IN VARCHAR2, rc OUT sys_refcursor) AS BEGIN OPEN rc FOR sqlselect; END; END; /

В реальной практике такому выхолощенному пакету вполне может найтись свое место, однако часто будут использоваться и другие, общие с приведенным выше только тем, что

(а) в теле будет обязательно присутствовать предложение OPEN

(б) среди параметров должен присутствовать выходной типа ссылки на курсор (возможно строгой).

Остальное регламентируется исключительно логикой приложения и организации программы.



Содержание раздела