Oracle PL /SQL är en processuell språk som är en förlängning av SQL eller Structured Query Language . Använd PL /SQL för att uppnå de önskade resultaten när standarden DML , eller Data Manipulation Language eller select-satser kan inte . Procedurer, funktioner , triggers och paket finns fyra olika typer av lagrade objekt eller lagrade program , skrivna i PL /SQL . Du måste förstå begreppet att skapa och upprätthålla PL /SQL lagrade objekt för att optimera prestanda och programmering tid . I den här artikeln , är det fokus på ett förfarande och en funktion . Instruktioner
1
Anslut till Oracle SQL * Plus genom att klicka på " Start", " Alla program " och " SQLPlus . "
2
Ange ditt användarnamn och lösenord , klicka sedan på "OK". i Oracle SQL * Plus dialogrutan .
3
Skapa en procedur . Ett förfarande sammanställs och lagras i dataordboken gång. Lagra endast en kopia av den efterlevs förfarande minskar nätverkstrafiken när fler än en användare behöver för att kalla det . På SQL-prompt , ange koden .
SQL >
" Skapa eller ersätta FÖRFARANDE update_product_price (
p_product_id IN products.product_id % TYPE ,
p_factor aV ANTALET
) katalog
AS
v_product_count heltal;
BEGIN
- räkna antalet produkter med
- levereras Product_ID ) katalog
SELECT COUNT ( * ) katalog
INTO v_product_count
från produkter
VAR Product_ID = p_product_id ;
- om produkten finns ( v_product_count = 1 ) då
- uppdatering som produktens pris
IF v_product_count = 1 Then
uppdatera produkter
SET pris = pris * p_factor
WHERE PRODUCT_ID = p_product_id ;
COMMIT ,
END IF ,
EXCEPTION
NÄR andra så
rollback ,
END update_product_price ,
/"
Efter ingreppet sammanställs kommer den att visa " Procedure skapat "
< . p > Anm : för att framgångsrikt driva och kalla detta förfarande , måste ett produkter bord finns i Oracle databas med data lagrade
med " SELECT " -kommandot och " WHERE " kommandot att fråga priset på produkt # 1 . så att du kan göra en jämförelse efter den anropande proceduren . På SQL-prompt , ange koden
SQL >
" SELECT Product_ID , product_type_id , namn, beskrivning , pris från produkter
VAR PRODUCT_ID = 1 ; " .
resultaten kommer att visa hela posten , men nedan är bara priset kolumnen för den produkt som är märkt som Product_ID = 1 .
pRIS
------- - AktieTorget
19.95
Ring proceduren update_product_price . På SQL-prompt , ange koden
SQL >
" CALL update_product_price ( 1 , 1,5 ) , " . .
Samtal avslutat
Resultatet visar att samtal avslutats och priset för produt_id uppdateras när du använder SELECT och WHERE kommandon vid SQL-prompt
SQL > Välj Pris från produkter VAR PRODUCT_ID = 1 ,.
pris
----------
29.93
4
Skapa en funktion . När du ringer en funktion från ett uttalande , måste den returnera ett värde . Dessutom , de många funktioner som levereras ur lådan med Oracle 10g-databas , utvecklare skapa egna funktioner för att öka påverkan på prestanda . På SQL-prompt , ange koden .
SQL >
" Skapa eller ersätta FUNCTION average_product_price (
p_product_type_id som heltal
) returnummer
AS
v_average_product_price nummer,
BEGIN
SELECT AVG ( pris ) katalog
INTO v_average_product_price
från produkter
VAR product_type_id = p_product_type_id ;
RETURN v_average_product_price ,
END average_product_price , .
/"
Funktion skapat
resultatet visar den skapade funktionen och sedan samtalet till average_product_price med SELECT uttalande från dubbla tabellen . På SQL-prompt , ange koden
SQL >
" SELECT average_product_price ( 1 ) katalog
från dubbla, " .
AVERAGE_PRODUCT_PRICE ( 1 )
------------------------
29.93