sql >> Database teknologi >  >> RDS >> Oracle

Introduktion til PL/SQL-samlinger i Oracle-databasen

Efter undtagelseshåndtering, det emne, som vi afsluttede med den sidste PL/SQL-tutorial, er indsamling det mest efterspurgte emne på mine sociale medier. Derfor vil vores næste serie af tutorials være baseret på PL/SQL-samlinger. Fra i dag.

Hvad er PL/SQL-samlinger i Oracle-databasen?

En homogen enkeltdimensions datastruktur, der består af elementer af samme datatype, kaldes indsamling i Oracle Database. I et enkelt sprog kan vi sige, at et array i Oracle Database kaldes Collection.

Definition
En homogen enkeltdimensions datastruktur, der består af elementer af samme datatype, kaldes indsamling i Oracle Database.

Hvorfor kalder vi indsamling en homogen datastruktur?

Da vi ved, at arrayet består af data af samme datatype, og det samme gør PL/SQL-samlingen, hvorfor vi kalder dem homogen datastruktur.

Strukturen af ​​PL/SQL-samlinger består af en celle med subscript kaldet indeks. Data gemmes i disse celler og kan identificeres og tilgås ved hjælp af indeksnummeret. Dette er igen meget lig strukturen af ​​arrays, men i modsætning til array er PL/SQL-samlinger strengt endimensionelle.

Infobyte:
Indsamlingen i Oracle Database er strengt endimensionel. Det er ikke muligt at realisere dem på 2D-koordinater. Men når samlingen har en egenskab af objekttype eller samlingstype, er det muligt at realisere et multidimensionelt array.

Typer af PL/SQL-samlinger i Oracle-databasen

PL/SQL-samlinger kan opdeles i to kategorier:

  1. Vedholdende og
  2. Ikke-vedvarende.

Vedvarende indsamling, som navnet antyder, er dem, der fysisk lagrer samlingsstrukturen med data i databasen og kan tilgås igen, hvis det er nødvendigt. Hvorimod ikke-vedvarende indsamling kun gemmer data og struktur for én session.

På baggrund af ovenstående kategorier er samlinger yderligere opdelt i tre typer:

  1. Indlejrede tabeller
  2. Arrays med variabel størrelse eller VARRAY'er og
  3. Associative arrays.

Indlejret tabel – Indlejrede tabeller er vedvarende indsamling, hvilket betyder, at de kan gemmes i databasen og kan genbruges. Indlejrede tabeller har ingen øvre grænser for rækker, så de er ubegrænsede samlinger. Indlejrede tabeller er i starten tætte, men kan blive sparsomme ved sletning.

VARRAY'er – Svarende til indlejrede tabeller Variable-Sized Arrays er også vedvarende samlinger, så de kan oprettes i database såvel som PL/SQL-blok og kan genbruges. Men i modsætning til indlejrede tabeller er VARRAY'er afgrænset i naturen, hvilket betyder, at de kun kan indeholde en fast mængde elementer.

Infobyte:
Størrelsen og lagerskemaet for VARRAY'er gør dem anderledes end indlejrede tabeller.

Associativ array – I modsætning til indlejrede tabel og VARRAY'er er associative arrays ikke-vedvarende samlinger, så de kan ikke gemmes i databasen. Da de ikke kan gemmes, kan de derfor ikke genbruges, men de er tilgængelige i PL/SQL-blok til sessionen. Men i lighed med indlejrede tabeller er associative arrays ubegrænsede, hvilket betyder, at de heller ikke har nedre og øvre grænser for rækker.

Almindelig brugte termer i PL/SQL Collection.

Afgrænset og ubegrænset samling – En samling, der har nedre eller øvre grænser for værdier af rækkenummer eller f.eks. en samling, der kun kan indeholde et begrænset antal elementer, kaldes afgrænsede samlinger. En samling, som ikke har nogen nedre eller øvre grænser for rækkenumre, kaldes ubundne samlinger.

Tæt og sparsom samling. – Samlinger siges at være tætte hvis alle rækkerne mellem den første og den sidste er defineret og givet en værdi. Og en samling, hvor rækker ikke er defineret og udfyldt sekventielt, kaldes spare samling.

Det er det for denne tutorial. Du kan hjælpe andre med at lære samt hjælpe mig og min kanal med at vokse ved at dele denne blog med dine venner eller på dine sociale medier.

Du kan nu få opdateringer af vores blogs, giveaways sammen med andre interessante ting, som det sker lige i din indbakke, bare abonner på vores nyhedsbrev. Tak og god dag!


  1. Hvordan arbejder jeg med høj præcision decimaler i PHP

  2. Oracle 10g tidszoneforvirring

  3. Sløjfe over resultatsæt i MySQL

  4. Vælg kolonner på tværs af forskellige databaser