Selkeä kohdistin vs. implisiittinen kohdistin
Kun on kyse tietokannoista, kohdistin on ohjausrakenne, joka mahdollistaa tietokannan tietueiden kulkemisen. Kohdistin tarjoaa mekanismin nimen nimeämiseksi SQL select -käskyyn, ja sitten sitä voidaan käyttää kyseisen SQL-käskyn tietojen käsittelyyn. Implisiittiset kohdistimet luodaan ja niitä käytetään aina, kun Select-käsky julkaistaan PL / SQL: ssä, kun nimenomaista kohdistinta ei ole. Kehittäjä määrittelee nimenomaiset kohdistimet nimen mukaan. PL / SQL: ssä eksplisiittinen kohdistin on itse asiassa nimetty kysely, joka määritetään käyttämällä avainsanakohdistinta.
Mikä on implisiittinen kohdistin?
Oracle luo ja käyttää implisiittisiä kohdistimia automaattisesti aina, kun select-käsky julkaistaan. Jos käytetään implisiittistä kohdistinta, tietokannan hallintajärjestelmä (DBMS) suorittaa avaamisen, noutamisen ja sulkemisen automaattisesti. Implisiittisiä kohdistimia tulisi käyttää vain SQL-käskyjen kanssa, jotka palauttavat yhden rivin. Jos SQL-käsky palauttaa useamman kuin yhden rivin, implisiittisen kohdistimen käyttäminen aiheuttaa virheen. Epäsuora kohdistin liitetään automaattisesti kaikkiin DML-käskyihin, nimittäin INSERT-, UPDATE- ja DELETE-lauseisiin. Myös implisiittistä kohdistinta käytetään SELECT INTO -käskyjen käsittelemiseen. Kun tietoja haetaan implisiittisillä kohdistimilla, NO_DATA_FOUND-poikkeusta voidaan nostaa, kun SQL-käsky ei palauta tietoja. Lisäksi,implisiittiset kohdistimet voivat nostaa TOO_MANY_ROWS poikkeuksia, kun SQL-käsky palauttaa useamman kuin yhden rivin.
Mikä on eksplisiittinen kohdistin?
Kuten aiemmin mainittiin, eksplisiittiset kohdistimet ovat kyselyjä, jotka on määritelty nimellä. Selkeä kohdistin voidaan ajatella osoittimeksi tietuejoukolle ja osoitinta voidaan siirtää eteenpäin tietuejoukon sisällä. Nimenomaiset kohdistimet tarjoavat käyttäjälle täydellisen hallinnan tietojen avaamiseen, sulkemiseen ja noutamiseen. Myös useita rivejä voidaan hakea käyttämällä nimenomaista kohdistinta. Nimenomaiset kohdistimet voivat myös ottaa parametreja kuten mikä tahansa toiminto tai toimenpide, jotta muuttujia voidaan muuttaa aina, kun se suoritetaan. Lisäksi eksplisiittisten kohdistinten avulla voit hakea kokonaisen rivin PL / SQL-tietuemuuttujaan. Kun käytetään nimenomaista kohdistinta, se on ensin ilmoitettava nimellä. Kohdistimen määritteisiin pääsee käyttämällä kohdistimelle annettua nimeä. Ilmoituksen jälkeen kohdistin on avattava ensin. Sitten hakeminen voidaan aloittaa. Jos useita rivejä on haettava, hakutoiminto on tehtävä silmukan sisällä. Lopuksi kohdistin on suljettava.
Ero eksplisiittisen kohdistimen ja implisiittisen kohdistimen välillä
Tärkein ero implisiittisen kohdistimen ja eksplisiittisen kohdistimen välillä on, että eksplisiittinen kohdistin on määriteltävä nimenomaisesti antamalla nimi, kun taas implisiittiset kohdistimet luodaan automaattisesti, kun annat valitun lauseen. Lisäksi useita rivejä voidaan hakea käyttämällä eksplisiittisiä kohdistimia, kun taas implisiittiset kohdistimet voivat hakea vain yhden rivin. Myöskään NO_DATA_FOUND- ja TOO_MANY_ROWS-poikkeuksia ei esitetä eksplisiittisiä kohdistimia käytettäessä, toisin kuin implisiittisiä kohdistimia. Pohjimmiltaan implisiittiset kohdistimet ovat alttiimpia tietovirheille ja tarjoavat vähemmän ohjelmallista hallintaa kuin eksplisiittiset kohdistimet. Myös implisiittisiä kohdistimia pidetään vähemmän tehokkaina kuin eksplisiittisiä kohdistimia.