Oracle PL /SQL er en proceduremæssig sprog, er en udvidelse af SQL eller Structured Query Language . Brug PL /SQL for at opnå de ønskede resultater , når standarden DML , eller Data Manipulation Language eller vælge udsagn ikke kan. Procedurer, funktioner , udløser, og pakker er fire forskellige typer af lagrede objekter eller lagrede programmer , som er skrevet i PL /SQL. Du skal forstå begrebet at skabe og vedligeholde PL /SQL lagrede objekter til at optimere ydeevnen og programmering tid. I denne artikel er der fokus på en procedure og en funktion. Instruktioner
1
Tilslut til Oracle SQL * Plus ved at klikke på " Start", " Alle programmer " og " sqlplus . "
2
Indtast dit brugernavn og din adgangskode, og klik derefter på "OK". i Oracle SQL * Plus dialogboks.
3
Opret en procedure. En procedure er kompileret og lagres i data ordbogen én gang. Lagring kun én kopi af overholdt procedure reducerer netværkstrafik, når mere end én bruger har brug for at kalde det. På SQL prompt, skal du indtaste koden .
SQL >
" CREATE OR REPLACE PROCEDURE update_product_price (
p_product_id IN products.product_id % TYPE , salg
p_factor aNTAL
)
AS
v_product_count INTEGER ,
BEGIN
- tælle antallet af produkter med det < br >
- leveret product_id )
SELECT COUNT (*)
INTO v_product_count
FROM produkter
WHERE product_id = p_product_id ;
- hvis produktet eksisterer ( v_product_count = 1 ), så
- opdatering, produktets billigt
IF v_product_count = 1 og derefter
uPDATE produkter
< p> SET pris = pris * p_factor
WHERE product_id = p_product_id ,
COMMIT ,
END IF
UNDTAGELSE
NÅR andre, så
rollback
END update_product_price ,
/"
Efter at proceduren er kompileret det vil vise " skabt procedure "
< . p> Bemærk: For at kunne køre , og kalder denne procedure skal en produkter tabellen findes i Oracle database med data lagret
Brug af " SELECT " kommando og " WHERE " kommando til at forespørge prisen på produktet nr. 1 . så du kan gøre en sammenligning efter den kaldende proceduren. På SQL prompt , indtast koden
SQL >
"SELECT product_id , product_type_id , navn, beskrivelse , pris fra produkter
WHERE product_id = 1; " . < Br >
resultaterne vil vise hele rekord, men nedenfor er kun prisen kolonnen for det produkt, der er mærket som product_id = 1 .
billigt
------- -
19.95
Ring proceduren update_product_price . På SQL prompt , indtast koden
SQL >
" CALL update_product_price ( 1, 1,5 ) ." .
Ring afsluttet
Resultatet skærme, Call gennemførte og prisen for produt_id opdateres, når du bruger SELECT og WHERE kommandoer på SQL prompt
SQL > SELECT pris FROM produkter WHERE product_id = 1 ; .
pris < br >
----------
29.93
4
Opret en funktion. Når du ringer en funktion fra en erklæring , skal den returnere en værdi. Hertil kommer, at de mange funktioner leveret ud af boksen med Oracle 10g database udviklere skabe deres egne funktioner til at forøge effekten på ydeevnen . På SQL prompt, skal du indtaste koden .
SQL >
" CREATE OR REPLACE FUNCTION average_product_price (
p_product_type_id IN INTEGER
) RETURN NUMBER < br >
AS
v_average_product_price NUMMER ,
BEGIN
SELECT AVG (pris)
INTO v_average_product_price
FROM produkter < br >
WHERE product_type_id = p_product_type_id ,
RETURN v_average_product_price ,
END average_product_price ; .
/"
Funktion skabte
resultatet viser den oprettede funktionen og derefter opkaldet til average_product_price vha. SELECT erklæring fra den dobbelte bord. På SQL prompt , indtast koden
SQL >
"SELECT average_product_price (1)
FRA dobbelt ," .
AVERAGE_PRODUCT_PRICE (1) < br >
------------------------
29.93
< br >