Johdanto PL / SQL-kokoelmiin

Ensinnäkin, kuten muutkin nykyaikaiset ohjelmointikielet, PL / SQL tarjoaa myös mahdollisuuden ohjelmoijille käyttää PL / SQL-kokoelmia. Joten yleisesti ottaen kokoelma on tietorakenne, jolla on tilattu ryhmä saman tyyppisiä elementtejä, ja näihin elementteihin päästään hakemistojen kautta erityisten vaatimusten mukaisesti. Yleisimmin käytettyjä kokoelmia useimmissa ohjelmointikielissä ovat taulukot, aseta, luettelo ja jono jne.

PL / SQL-kokoelma tarjoaa paljon etuja sekä ohjelmoijalle että käyttäjälle, kun sovellus tallentaa ja käyttää samanlaisten tietotyyppien tietoja. Kun on tarpeen käsitellä tietoja kerralla tai käsitellä suurta määrää dataa, PL / SQL-kokoelmat ovat erittäin hyödyllisiä. Se myös pienentää kokoa ja käsittelynopeutta tallennettaessa tietoja ja käytettäessä elementtejä. Kokoelmien elementteihin pääsee helposti silmukoiden ja hakemistojen kautta. Toisin kuin muiden ohjelmointikielten taulukot, PL / SQL tukee vain yksiulotteisia kokoelmia ja kokoelmien tiedot tunnistetaan alaindekseillä (joita muilla kielillä kutsutaan myös hakemistoiksi). Jokaiseen elementtiin päästään ja käsitellään tämän ainutlaatuisen alaindeksin kautta.

PL / SQL-kokoelmien tyypit

PL / SQL-kokoelmat ovat 3 tyyppiä, jotka on annettu alla syntaksilla:

Sisäkkäiset pöydät

Sisäkkäinen taulukko on PL / SQL-kokoelma, jonka kokoa ei ole vahvistettu. Joten, se on kuin yksiulotteinen taulukko paitsi, että koko on kiinteä taulukkoissa ja se voi olla tiheä ja harva molemmilla. Ohjelmoijan on laajennettava muistia joka kerta, ennen kuin sitä käytetään Sisäkkäisen taulukon EXTEND Subscript -sovelluksella, alkaa kokonaisluvulla '1'.

Sisäkkäiset taulukot kuuluvat pysyviin PL / SQL-kokoelmiin, mikä tarkoittaa, että niitä voidaan käyttää uudelleen tietokantaan tallennettuna. Ohjelmoija voi myös poistaa taulukkoelementin ja tehdä pöydästä harvan, mikä tarkoittaa, että sisäkkäiset taulukot voivat olla sekä tiheitä että hajautettuja. Sisäkkäiset taulukot voidaan ilmoittaa joko PL / SQL-lohkon sisällä tai skeematasolla.

Koska sisäkkäisissä taulukoissa ei ole mitään rajaa, ne kuuluvat rajoittamattomien PL / SQL-kokoelmien luokkaan.

Syntaksi:

TYPE typ_name IS table of element_data_type;
Table_name typ_name;

Muuttuva kokoinen ryhmä tai VARRAY

VARRAY on PL / SQL-kokoelma, jossa kokoelman koko on kiinteä määritelmänsä mukaisesti, joten VARRAY-nimityksiä kutsutaan rajatuiksi. Matriisien elementit asutetaan peräkkäin alaindeksistä 1. Toisin kuin sisäkkäisissä taulukoissa, taulukot tarjoavat vähemmän joustavuutta, koska ne ovat tiheitä vain. Joten ohjelmoija ei voi poistaa mitään elementtiä väliltä, ​​joko koko matriisi poistetaan tai se voidaan leikata lopusta. Matriiseja on käytettävä ja tallennettava peräkkäin. Se voidaan määritellä joko PL / SQL-lohkon sisällä tai skeematasolla. Kuten sisäkkäiset taulukot, myös massamallit kuuluvat pysyvien kokoelmien luokkaan, joten niitä voidaan käyttää uudelleen ja tallentaa tietokantaan.

Syntaksi:

TYPE typ_name IS VARRAY OF element_data_type;

Yhdistävät ryhmät

Kuten nimestä voi päätellä, assosiatiivisia taulukkoja käytetään arvojen pitämiseen avain-arvopareissa. Käytetty avain voi olla joko merkkijono tai kokonaisluku. Assosiatiivisia taulukkoja kutsutaan myös hakemistotaulukkoksi. Tämä kokoelma voi olla joko tiheä tai harva. Assosiatiivisissa matriiseissa taulukon kokoa ei ole vahvistettu käynnistyksessä ja ohjelmoijan ei tarvitse alustaa niitä ennen sen käyttöä. Assosiatiivinen taulukko kuuluu pysyvien kokoelmien luokkaan, mikä tarkoittaa, että niitä ei ole tallennettu tietokantaan eikä niitä voida käyttää uudelleen, joten ne määritetään PL / SQL-lohkon sisällä ja niitä käytetään vain kyseisessä istunnossa. Nämä taulukot kuuluvat rajattomien kokoelmien luokkaan.

Syntaksi:

TYPE typ_name IS TABLE OF element_data_type;

Keräysmenetelmät

PL / SQL tarjoaa joitain ennalta määritettyjä menetelmiä, joiden avulla on helppo työskennellä kokoelmien kanssa. Jotkut menetelmistä on annettu alla:

S.No.Menetelmän nimiKuvaus
1.KREIVISe palauttaa kokoelmassa olevien elementtien määrän
2.ENSIMMÄINENSe palauttaa kokoelman pienimmän (ensimmäisen) indeksinumeron kokonaislukuindeksien osalta
3.KESTÄÄSe palauttaa kokoelman suurimman (viimeisen) hakemistonumeron kokonaislukuindeksien osalta.
4.EXISTS (n)Sitä käytetään tarkistamaan, onko tietty elementti kokoelmassa vai ei. Se palauttaa TOSITON, jos n. Elementti on läsnä kokoelmassa, FALSE, jos ei.
5.Tekniikan (n)Se palauttaa hakemistonumeron, joka on edeltäjä hakemistolle (n), jonka käyttäjä on antanut kokoelmassa.
6.NEXT (n)Se palauttaa hakemistonumeron, joka on seuraajan hakemistolle (n), jonka käyttäjä on antanut kokoelmassa.
7.TRIMMATASitä käytetään elementtien poistamiseen kokoelmasta. TRIM poistaa viimeisen elementin kokoelmasta ja TRIM (n) poistaa viimeisen n elementin kokoelman lopusta.
8.POISTAASitä käytetään kaikkien elementtien poistamiseen annetusta kokoelmasta. Se asettaa kokoelmaluvun arvoon 0 kaikkien elementtien poistamisen jälkeen
9.DELETE (m, n)Sitä käytetään assosiatiivisten taulukkojen ja indeksoitujen taulukoiden tapauksessa kaikkien elementtien poistamiseen alueella m - n. Se palauttaa arvon nolla, jos m on suurempi kuin n.
10.RAJASitä käytetään tarkistamaan kokoelman enimmäiskoko.

Kokoelmapoikkeukset

Alla on joitain poikkeuksia, joita todennäköisimmin syntyy työskennellessään kokoelmien kanssa.

Poikkeuksen nimiSkenaario, jossa syntyy poikkeus
DATAA EI LÖYTYNYTPoikkeus syntyy, kun alaindeksi, joka viittaa poistettuun elementtiin, jota ei enää ole.
VALUE_ERRORPoikkeus tapahtuu, kun pääsyä yrittävien sarakkeiden arvo ei ole muunnettavissa avaintyyppiin tai kun alaindeksi on nolla
COLLECTION_IS_NULLPoikkeuksena on automaattisen nolla-kokoelman työskentely
SUBSCRIPT_BEYOND_CO UNTPoikkeus syntyy, kun alaindeksi ylittää kokoelmassa olevien elementtien enimmäismäärän.
SUBSCRIPT_OUTSIDE_LIM ITPoikkeus syntyy, kun yritetään viitata hakemistonumeroon, joka on laillisen alueen ulkopuolella.
TOO_MANY_ROWSPoikkeus syntyy, kun SELECT lauseeseen palauttaa yli yhden rivin.

Kokoelmien edut PL / SQL: ssä

Jotkut PL / SQL-kokoelmien eduista esitetään alla:

  • Lisäksi kokoelmien suurimpia etuja on, että se parantaa järjestelmän suorituskykyä välimuistiin tallentamalla staattiset tiedot, joihin on pääsy säännöllisesti.
  • Tärkeintä on, että kokoelmat ovat hyödyllisiä työskennellessään suuren tietojoukon kanssa, jolla on sama tietotyyppi, jolla käyttäjän on suoritettava useita DML-toimintoja.
  • Yhden kokoelman muuttujaa käyttämällä voidaan vähentää muuttujien useita lukuja, joita käytetään eri arvojen tallentamiseen ja siten muistin säästöön.
  • Eri toimintojen suorittaminen, kuten tietojen tallennus ja käsittely, on helppoa jo toimitettujen PL / SQL-keräysmenetelmien avulla.

johtopäätös

Yllä olevan kuvauksen avulla saat käsityksen siitä, mikä on PL / SQL-kokoelma ja menetelmistä, joita voidaan käyttää PL / SQL-kokoelmissa. Ennen minkä tahansa PL / SQL-kokoelmatyypin käyttöä ohjelmassa, kehittäjän on mietittävä ensin syvällisesti skenaariota ennen minkään tyypin valitsemista. Vaikka työskentely PL / SQL-kokoelmissa ei ole vaikeaa, mutta eri kohdissa saattaa esiintyä tiettyjä poikkeuksia, jotka ohjelmoijan on oltava tietoinen ja osaa käsitellä niitä.

Suositellut artikkelit

Tämä on opas PL / SQL-kokoelmiin. Tässä keskustellaan PL / SQL-kokoelmien syntaksista, tyypeistä, menetelmistä ja poikkeuksista sekä niiden eduista. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Kohdistimet PL / SQL-muodossa
  2. CASE-lause PL / SQL: ssä
  3. Oracle PL / SQL -haastattelukysymykset
  4. PL / SQL-komennot