Eksplisiittisen ja implisiittisen kohdistimen välinen ero

Eksplisiittisen ja implisiittisen kohdistimen välinen ero
Eksplisiittisen ja implisiittisen kohdistimen välinen ero

Video: Eksplisiittisen ja implisiittisen kohdistimen välinen ero

Video: Eksplisiittisen ja implisiittisen kohdistimen välinen ero
Video: Как сделать джейлбрейк PS4 9.00 с работающим USB-накопителем 2024, Marraskuu
Anonim

Eksplisiittinen kohdistin vs implisinen kohdistin

Kun kyse on tietokannoista, kohdistin on ohjausrakenne, joka mahdollistaa tietokannan tietueiden kulkemisen. Kohdistin tarjoaa mekanismin nimen määrittämiseksi SQL-valintakäskylle, minkä jälkeen sitä voidaan käyttää SQL-käskyn sisältämien tietojen käsittelemiseen. Implisiittiset osoittimet luodaan ja niitä käytetään automaattisesti aina, kun Select-käsky annetaan PL/SQL:ssä, kun ei ole erikseen määriteltyä kohdistinta. Eksplisiittiset kohdistimet, kuten nimestä voi päätellä, on kehittäjä erikseen määritellyt. PL/SQL:ssä eksplisiittinen kohdistin on itse asiassa nimetty kysely, joka on määritelty avainsanakohdistimella.

Mikä on implisiittinen kohdistin?

Oracle luo automaattisesti implisiittiset osoittimet ja käyttää niitä aina, kun valitaan lausunto. Jos käytetään implisiittistä kohdistinta, tietokannan hallintajärjestelmä (DBMS) suorittaa avaus-, haku- ja sulkemistoiminnot automaattisesti. Implisiittisiä kohdistimia tulee käyttää vain SQL-käskyjen kanssa, jotka palauttavat yhden rivin. Jos SQL-lause palauttaa useamman kuin yhden rivin, implisiittisen kohdistimen käyttö aiheuttaa virheen. Implisiittinen kohdistin liitetään automaattisesti jokaiseen DML (Data Manipulation Language) -käskyyn, nimittäin INSERT-, UPDATE- ja DELETE-käskyihin. Myös implisiittistä kohdistinta käytetään käsittelemään SELECT INTO -lauseita. Haettaessa tietoja implisiittisillä kohdistimilla NO_DATA_FOUND-poikkeus voidaan nostaa, kun SQL-käsky ei palauta mitään tietoja. Lisäksi implisiittiset osoittimet voivat aiheuttaa TOO_MANY_ROWS poikkeusta, kun SQL-käsky palauttaa useamman kuin yhden rivin.

Mikä on eksplisiittinen kohdistin?

Kuten aiemmin mainittiin, eksplisiittiset kohdistimet ovat kyselyitä, jotka on määritelty nimen avulla. Eksplisiittinen kohdistin voidaan ajatella osoittimena tietuejoukkoon ja osoitinta voidaan siirtää eteenpäin tietuejoukossa. Eksplisiittiset kohdistimet antavat käyttäjälle täydellisen hallinnan tietojen avaamiseen, sulkemiseen ja hakemiseen. Myös useita rivejä voidaan hakea käyttämällä eksplisiittistä kohdistinta. Eksplisiittiset kohdistimet voivat myös ottaa parametreja aivan kuten mikä tahansa funktio tai proseduuri, jotta kursorin muuttujia voidaan muuttaa joka kerta, kun se suoritetaan. Lisäksi eksplisiittiset kohdistimet mahdollistavat kokonaisen rivin hakemisen PL/SQL-tietuemuuttujaan. Kun käytetään eksplisiittistä kohdistinta, se on ensin ilmoitettava nimen avulla. Kohdistimen attribuutteja voidaan käyttää käyttämällä kohdistimelle annettua nimeä. Ilmoituksen jälkeen kursori on avattava ensin. Sen jälkeen nouto voidaan aloittaa. Jos useita rivejä on haettava, hakutoiminto on suoritettava silmukan sisällä. Lopuksi kohdistin on suljettava.

Ero eksplisiittisen ja implisiittisen kohdistimen välillä

Päasiallinen ero implisiittisen kohdistimen ja eksplisiittisen kohdistimen välillä on se, että eksplisiittinen kohdistin on määritettävä nimenomaisesti antamalla nimi, kun taas implisiittiset osoittimet luodaan automaattisesti, kun annat Select-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 esiinny käytettäessä eksplisiittisiä kohdistimia, toisin kuin implisiittisiä kohdistimia. Pohjimmiltaan implisiittiset osoittimet ovat alttiimpia datavirheille ja tarjoavat vähemmän ohjelmallista ohjausta kuin eksplisiittiset osoittimet. Myös implisiittisiä kohdistimia pidetään vähemmän tehokkaina kuin eksplisiittisiä kohdistimia.

Suositeltava: