Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Procedural Language Extensions to SQL

Samankaltaiset esitykset


Esitys aiheesta: "Procedural Language Extensions to SQL"— Esityksen transkriptio:

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


Lataa ppt "Procedural Language Extensions to SQL"

Samankaltaiset esitykset


Iklan oleh Google