Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorenie dvoch textových súborov s SQL súboru príponou . Tieto textové súbory budú obsahovať zdrojový kód hlavičky balíčka Oracle a písomnej tela Oracle , resp . Budú slúžiť ako zdroj príkazov pre vytvorenie balíčka v databáze ako uložené procedúry .
2
Vstupné hlavičku balíček príkazy na vytvorenie balíčka . Upravte hlavičkový súbor a umiestniť príkazy tam vytvoriť funkčné prototypy . Hlavičkový súbor určuje na Oracle tlmočníka , čo očakávať pri zostavovaní balíčkov telo z hľadiska parametrov a návratovej hodnoty . Príkladom záhlavie balíka je uvedený nižšie :
CREATE OR REPLACE BALÍČEK update_planned_hrs
IS
Planned_hours ČÍSLO ( 4 ) ;
POSTUP set_new_planned ( p_emp_id POČET , p_project_id v čísle , p_hours v čísle ) ;
FUNKCIE existing_planned ( p_emp_id v čísle , p_project_id v čísle ) RETURN NUMBER ;
END update_planned_hrs ;
/
Toto je typická hlavička balíčka . Môže byť umiestnený vo vlastnom zdrojovom súbore , alebo v rovnakom zdrojovom súbore ako balíčka tela . Je dobrým zvykom , aby sa dva vo svojich zdrojových súborov , však. . Prvý Vždy spúšťať príkazy na vytvorenie balíčka ( záhlavie )
3
Kompletný balíček zadaním detailov balíček tela , zodpovedajúce funkcií a parametrov hlavičky vstúpil ako tak :
CREATE OR REPLACE PACKAGE BODY update_planned_hrs
IS
POSTUP set_new_planned ( p_emp_id v čísle , p_project_id v čísle , p_hours v čísle )
IS
BEGIN
UPDATE employee_on_activity ea
SET ea.ea_planned_hours = p_hours
KDE
ea.ea_emp_id = p_emp_id
A ea.ea_proj_id = p_project_id ;
VÝNIMKA
NO_DATA_FOUND THEN
raise_application_error ( -20100 , ' Nie ako zamestnanec alebo projekt ' ) ;
END set_new_planned ;
FUNKCIE existing_planned ( p_emp_id v čísle , p_project_id v čísle ) RETURN ČÍSLO
IS
existing_hours ČÍSLO ( 4 ) ;
BEGIN
SELECT ea . ea_planned_hours DO existing_hours
Z employee_on_activity ea
KDE
ea.ea_emp_id = p_emp_id
A ea.ea_proj_id = p_project_id ;
RETURN ( existing_hours ) ;
VÝNIMKA
NO_DATA_FOUND THEN
raise_application_error ( -20100 , ' Nie ako zamestnanec alebo projekt ' ) ;
END existing_planned ;
END update_planned_hrs ;
/
4
Otestujte balíček funguje tak , že pomocou vhodných testovacích dát . To bude zahŕňať volanie balík z príkazového riadku v prostredí Oracle Sqlplus takto :
DECLARE klipart
l_emp_id číslo ;
l_project_id ČÍSLO ;
BEGIN
l_emp_id : = 1 ;
l_project_id : = 12 ;
- Získať existujúce plánované hodiny pre tohto zamestnanca pomocou pretrvávajú premennej balíček
update_planned .. planned_hours = update_planned.existing_planned ( l_emp_id , l_project_id ) ;
- Teraz aktualizovať zamestnanecké plánovanej hodiny
update_planned.planned_hours : = update_planned.planned_hours + 10 ;
update_planned . set_new_planned ( l_emp_id , l_project_id , update_planned.planned_hours ) ;
- Výstup na výsledky
dbms_output.put_line ( " zamestnanec "
Copyright © počítačové znalosti Všetky práva vyhradené