cw8 1 03stud, Studia, bazy danych, LABORATORIUM I-SZY STOP


Ćwiczenie 8_1

I. PAKIETY

PL/SQL umożliwia zgrupowanie wszystkich logicznie powiązanych ze sobą podprogramów, zmiennych, stałych, kursorów i in. w ramach jednego obiektu, zwanego pakietem. Pakiety mogą być kompilowane i przechowywane w bazie danych, dzięki czemu z ich zawartości mogą korzystać aplikacje.

Każdy pakiet składa się z dwóch części:

Część specyfikacji jest interfejsem do zawartości pakietu przeznaczonym dla aplikacji. Wewnątrz specyfikacji deklaruje się obiekty publiczne, z których może korzystać zarówno pakiet, jak i aplikacje. Zmienne i stałe zadeklarowane w części specyfikacji zachowują swoje wartości na czas trwania sesji.

Ciało pakietu implementuje specyfikację - definiuje kursory i podprogramy zadeklarowane w specyfikacji pakietu, a także zwraca deklaracje obiektów prywatnych, które nie są dostępne dla aplikacji.

Specyfikację pakietu tworzy się poleceniem CREATE [OR REPLACE] PACKAGE

Składnia:

CREATE [OR REPLACE] PACKAGE nazwa pakietu IS

publiczne deklaracje

specyfikacje podprogramów

END;

Ciało pakietu tworzy się poleceniem CREATE [OR REPLACE] PACKAGE BODY.

Składnia:

CREATE [OR REPLACE] PACKAGE BODY nazwa pakietu IS

prywatne deklaracje

definicje podprogramów

[BEGIN

instrukcje inicjalizujące pakietu]

END;

Pakiet usuwa się poleceniem:

DROP PACKAGE nazwa_pakietu

Przykład:

CREATE [OR REPLACE] PACKAGE pracownik IS

PROCEDURE dodaj_pr(

id_pracownika NUMBER,

nazwisko VARCHAR2,

etat VARCHAR2,

id_szefa NUMBER,

placa NUMBER,

id_zesp NUMBER);

PROCEDURE zwolnij_pr(

id_pracownika NUMBER);

END;

/

CREATE [OR REPLACE] PACKAGE BODY pracownik IS

PROCEDURE dodaj_pr(

id_pracownika NUMBER,

nazwisko VARCHAR2,

etat VARCHAR2,

id_szefa NUMBER,

placa NUMBER,

id_zesp NUMBER) IS

BEGIN

INSERT INTO prac VALUES(id_pracownika,

nazwisko, etat, id_szefa, sysdate, placa, 0, id_zesp);

END dodaj_pr;

PROCEDURE zwolnij_pr(

id_pracownika NUMBER) IS

BEGIN

DELETE FROM prac

WHERE id_prac=id_pracownika;

END zwolnij_pr;

END pracownik;

/

Zdefiniowany w pakiecie podprogram wywołujemy poprzedzając go nazwą pakietu np:

exec pracownik.dodaj_pr(555, 'ZETBACKI', 'ASYSTENT', 130, 1234, 30);

lub

exec pracownik.zwolnij_pr(555);

LABORATORIUM z BAZ DANYCH

ORACLE

2



Wyszukiwarka

Podobne podstrony:
cw8 03stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw4 08 stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw 10 03, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw 11 03, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw6 1 08, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw6 08 stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
bd2 06 211b, bd2 06 211b id14, Bazy Danych 2 - Laboratorium
BD gr D, Studia, Bazy danych, Wszystkie zestawy na BD
POLU CW1, Studia, bazy danych
Polu cw2, Studia, bazy danych
CW4CD, Studia, bazy danych
bazy danych laboratoria 3

więcej podobnych podstron