Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako si vyrobiť Oracle PL /SQL balíček

Oracle uložené procedúry sú popísané presne tak , ako komunikovať . Tie sú kódované postupy , pomocou Oracle PL /SQL , ktoré trvalo umiestnené v databáze . Týmto spôsobom balíky Oracle môžu byť znovu použité a ako ich údaje v databáze , ktoré nie sú držané v samostatných zdrojových súboroch , informácie v bezpečí . Vytvorenie balíčkov Oracle zahŕňa vytvorenie hlavičky , s uvedením prototypy funkcií a parametrov , a telo balíček , ktorý obsahuje skutočný kód . Ako hlavičky a telo môže byť umiestnená v jednom textovom súbore , ale dobrá prax diktuje , že by mali byť skladované jednotlivo . Pokyny dovolená 1

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 "

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené