Lataa esitys
Esittely latautuu. Ole hyvä ja odota
1
Procedural Language Extensions to SQL
PL/SQL Procedural Language Extensions to SQL Kimmo Seppänen PL/SQL
2
Mikä PL/SQL on? Rakenteellinen ohjelmointikieli joka pohjautuu suoraan SQL:ään Tallennetaan ja ajetaan suoraan tietokannan sisällä Komponentteja voidaan kierrättää ja käyttää useissa eri Oraclen tuotteissa Kimmo Seppänen PL/SQL
3
Miksi PL/SQL? Helppo oppia Komponentit kierrätettäviä
Tuettu Oracle 7:stä eteenpäin Nopea Kimmo Seppänen PL/SQL
4
Vihjelista: Tee näin, Osa 1
Keskitä virhekäsittely yhteen packageen Tee paikallisia (proceduren sisäisiä) funktioita toistuvia käskysarjoja varten Pidä funktiot ja proceduret lyhyinä Käytä ankkuroituja muuttujatyyppejä Käytä ennemmin procedureja kuin kirjoitat SQL:ää suoraan koodin sekaan Kimmo Seppänen PL/SQL
5
Vihjelista: Tee näin, Osa 2
Käytä overloading-ominaisuutta hyväksesi Käytä kursoreita ennemmin kuin suoraa SQL:ää (esim. select into-sijaan) Tee yhdellä “flagilla” toimiva debuggaus-mode, joka tulostaa välitietoja ohjelman etenemisestä (esim. dbms_output.put_line) Pidä pakettien määritykset eri tiedostoissa kuin pakettien body Kimmo Seppänen PL/SQL
6
Vihjelista: Älä tee näin, Osa 1
Älä hardkoodaa mitään, käytä joko globaaleja muuttujia tai hae arvot kannasta Älä käytä exception-haaraa muuhun kuin virhekäsittelyyn Vältä funktioiden sivuvaikutuksia, esim. kantamuutoksia tai interaktiivisuutta vaativia osia Kimmo Seppänen PL/SQL
7
Vihjelista: Älä tee näin, Osa 2
Älä poistu loopista exit when-komennolla, ne saattavat johtaa ikilooppeihin Älä määrittele for-loopin indeksimuuttujaa (declare i number; for i in (select * from …) Varo nimeämästä muuttujia tai procedureja samoilla nimillä kuin kannan taulut tai sarakkeet Kimmo Seppänen PL/SQL
8
Tehtävänä tuoda ilmi ja tehostaa koodin loogista rakennetta.
Asettelu Tehtävänä tuoda ilmi ja tehostaa koodin loogista rakennetta. Kimmo Seppänen PL/SQL
9
Nimeäminen Vähentää kommentoinnin tarvetta
Funktiot: kuvaus_palautetusta_arvosta esim. palkat_yhteensa Proceduret: verbi_kohde esim. laske_liikevaihto Parametrien etu- ja takaliitteet Älä käytä liian lyhyitä nimiä Kimmo Seppänen PL/SQL
10
Kommentointi Tee samalla kun koodaat
Erityisen tärkeää vaikeissa / huonosti koodatuissa kohdissa Hyvä nimeämiskäytäntö on osa kommentointia Selitä miksi, ei miten: rivi := rivi + 6; --kasvatetaan riviä 6:lla rivi := rivi + 6; --otsikon viemä tila Kimmo Seppänen PL/SQL
11
JAVA-kutsut PL/SQL:stä
Käännä JAVA-ohjelmat ja lataa ne tietokantaan Luo käyttäjälle oikeudet suorittaa JAVA-kutsuja Rakenna JAVA-kutsun ympärille PL/SQL wrapperi, jonka omistaa JAVA-kutsujen omistaja Kimmo Seppänen PL/SQL
12
PL/SQL wrapperi JAVA-kutsuun
CREATE OR REPLACE FUNCTION fDelete( file IN VARCHAR2) RETURN NUMBER AS LANGUAGE JAVA NAME ‘Jdelete.delete ( java.lang.String) return int’; / Kimmo Seppänen PL/SQL
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.