| 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> > |