Oracle PL /SQL is een procedurele taal die is een uitbreiding van SQL of de Structured Query Language . Gebruik de PL /SQL om de gewenste resultaten te verkrijgen wanneer de standaard DML , of Data Manipulation Language of SELECT-instructies niet kan. Procedures, functies , triggers en pakketten zijn vier verschillende typen objecten opgeslagen of opgeslagen programma , geschreven in PL /SQL . Je moet het concept van het creëren en onderhouden van de PL /SQL opgeslagen objecten om de prestaties en de programmering te optimaliseren begrijpen . In dit artikel ligt de focus op een procedure en een functie . Instructies 1 verbinding tot Oracle SQL * Plus door te klikken op " Start", " Alle programma's " en " SQLPlus . " Kopen van 2 Voer uw gebruikersnaam en wachtwoord in en klik " OK . " in de Oracle SQL * Plus dialoogvenster . 3 Maak een procedure . Een procedure verzameld en opgeslagen in de datadictionary keer . Het opslaan van slechts een exemplaar van de acht procedure reduceert het netwerkverkeer wanneer er meer dan een gebruiker nodig heeft om te bellen . Op de SQL prompt , voer de code . SQL > "CREATE OR REPLACE PROCEDURE update_product_price ( p_product_id IN products.product_id % TYPE , p_factor IN aANTAL ) op Twitter v_product_count INTEGER AS ; BEGIN - tel het aantal producten met de < br > - product_id meegeleverd ) SELECT COUNT ( * ) op INTO v_product_count FROM producten WHERE product_id = p_product_id ; - indien het product bestaat ( v_product_count = 1 ) dan - update die product prijsvergelijking IF v_product_count = 1 THEN UPDATE producten SET prijs = prijs * p_factor WHERE product_id = p_product_id ; COMMIT ; END IF ; UITZONDERING WANNEER ANDEREN DAN ROLLBACK ; END update_product_price ; /" Na de procedure wordt gecompileerd wordt weergegeven " procedure gecreëerd " < . p > Opmerking : om deze procedure succesvol te laten verlopen en te bellen , moet een tabel producten bestaan in de Oracle-database met opgeslagen gegevens met behulp van de " SELECT " commando en " WAAR " commando om de prijs van het product # 1 bevragen . zodat u een vergelijking kunt doen na het aanroepen van de procedure . Op de SQL prompt , voer de code SQL > "SELECT product_id , product_type_id , naam , omschrijving , prijs FROM producten WHERE product_id = 1 ; " . < Br > de resultaten zullen het hele record weer te geven , maar hieronder is alleen de kolom prijs voor het product dat wordt bestempeld als product_id = 1 . PRIJS ------- - 19.95 Bel de procedure update_product_price . Op de SQL prompt , voer de code SQL > " CALL update_product_price ( 1 , 1.5 ) ; " . . Bel afgerond Het resultaat displays die de Call afgerond en de prijs voor produt_id wordt bijgewerkt wanneer u de SELECT en WHERE opdrachten bij de SQL- prompt SQL > SELECT prijs FROM producten WHERE product_id = 1 ; . PRIJS < br > ---------- 29,93 4 Maak een functie . Bij het aanroepen van een functie in een verklaring , moet deze een waarde te retourneren . Daarnaast zijn de vele functies geleverd uit de doos met de Oracle 10g -database , ontwikkelaars hun eigen functies om de invloed op de prestaties te vergroten . Op de SQL prompt , voer de code . SQL > "CREATE OR REPLACE FUNCTIE average_product_price ( p_product_type_id IN INTEGER ) RETURN NUMMER < br > AS v_average_product_price NUMMER ; BEGIN SELECT AVG ( prijs ) op INTO v_average_product_price FROM producten < br > WHERE product_type_id = p_product_type_id ; RETURN v_average_product_price ; END average_product_price ; . /" Functie gemaakt het resultaat toont de gecreëerde functie en vervolgens de oproep aan de average_product_price met behulp van de SELECT-instructie van de dubbele tafel . Op de SQL prompt , voer de code > "SELECT average_product_price ( 1 ) op FROM dual ; " SQL . AVERAGE_PRODUCT_PRICE ( 1 ) < br 29.93 < br ------------------------ Aanmelden> > |