Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Software Database >> .

Avanzata PL SQL Tutorial

Oracle PL /SQL è un linguaggio procedurale che è un'estensione di SQL , o il linguaggio di interrogazione strutturato. Utilizzare il PL /SQL per ottenere i risultati desiderati quando il DML standard o Data Manipulation Language o select non può. Procedure, funzioni , trigger e pacchetti sono quattro tipi distinti di oggetti archiviati o dei programmi memorizzati , scritte in PL /SQL . È necessario comprendere il concetto di creare e mantenere gli oggetti memorizzati PL /SQL per ottimizzare le prestazioni e il tempo di programmazione . In questo articolo , l' attenzione è rivolta a una procedura e una funzione. Istruzioni
1

connettersi a Oracle SQL * Plus facendo clic su "Start ", " Tutti i programmi " e " sqlplus ".
2

Inserisci il tuo nome utente e password , quindi fare clic su "OK . " nella * finestra di dialogo Oracle SQL Plus +.
3

Creare una procedura. Una procedura viene compilato e memorizzato nel dizionario dati una volta . Memorizzazione di una sola copia della procedura rispettato riduce il traffico di rete quando più di un utente ha bisogno di chiamarlo . Al prompt di SQL , immettere il codice .

SQL >

" CREATE OR REPLACE PROCEDURE update_product_price (

p_product_id IN products.product_id % TYPE , Stati

p_factor IN nUMERO

) per

AS

v_product_count INTEGER ;

BEGIN

- contare il numero di prodotti con il

- fornito product_id ) per

SELECT COUNT ( * ) per

INTO v_product_count

DA prodotti

DOVE product_id = p_product_id ;

- se il prodotto esiste ( v_product_count = 1) allora

- aggiornamento che prezzo

prodotto SE v_product_count = 1 allora
prodotti uPDATE


Prezzo SET = prezzo * p_factor

DOVE product_id = p_product_id ;

COMMIT ;

END IF ;

ECCEZIONE

QUANDO altri allora

ROLLBACK ;

END update_product_price ;

/"

Dopo la procedura è compilato verrà visualizzato " Procedura creato "
< . p> Nota: per eseguire correttamente e chiamare questa procedura, una tavola prodotti deve esistere nel database Oracle con i dati memorizzati

Utilizzando il comando " SELECT" e "Dove " comando per interrogare il prezzo del prodotto # 1 . in modo che si può fare un confronto dopo la chiamata della procedura . Al prompt di SQL , immettere il codice

SQL >

"SELECT product_id , product_type_id , nome, descrizione , prezzo FROM prodotti WHERE

product_id = 1; " .

I risultati verranno visualizzati l'intero record , ma elencati di seguito è solo la colonna prezzo per il prodotto che viene etichettato come product_id = 1 .

pREZZO

------- -

19.95

chiamare la procedura update_product_price . Al prompt di SQL , inserire il codice

SQL >

"CALL update_product_price ( 1 , 1.5); " . .

Chiamata completata

Il risultato display che la chiamata completata e il prezzo per produt_id viene aggiornato quando si utilizza la SELECT e WHERE comandi al prompt SQL

SQL > Prezzo SELECT FROM prodotti WHERE product_id = 1 ; .

prezzo

----------

29.93
4

creare una funzione . Quando si chiama una funzione da una dichiarazione, che deve restituire un valore . Inoltre, per le molte funzioni consegnati fuori dalla scatola con il database Oracle 10g , gli sviluppatori di creare le proprie funzioni per aumentare l'impatto sulle prestazioni . Al prompt di SQL , immettere il codice .

SQL >

" CREATE OR REPLACE FUNCTION average_product_price (

p_product_type_id IN INTEGER

) NUMERO DI RITORNO

AS

NUMERO v_average_product_price ;

BEGIN

SELECT AVG ( prezzo ) per

INTO v_average_product_price

DA prodotti

DOVE product_type_id = p_product_type_id ;

RITORNO v_average_product_price ;

END average_product_price ; .

/"

Funzione creato

il risultato mostra la funzione creata e quindi la chiamata al average_product_price utilizzando l' istruzione SELECT dalla tabella duale . Al prompt di SQL , immettere il codice

SQL >

"SELECT average_product_price ( 1 ) per

da due; " .

AVERAGE_PRODUCT_PRICE ( 1 )

------------------------

29.93

 

software © www.354353.com