Minden gyűjtemény az Oracle
Gyűjtemények vannak jelen egy vagy más formában a legtöbb programozási nyelv, és minden hasonló lényege a felhasználási feltételeket. Nevezetesen - lehetővé teszi, hogy tárolja objektumok gyűjteménye, azonos típusú és az áthúzódó teljes körét minden olyan intézkedés, vagy egy hurkot, hogy tartsa az azonos típusú akció minden elemét egy sor.
Ugyanígy, és a gyűjtemények használnak Oracle.
Általános információ a gyűjtemények PL / SQL
- Létrehozása a gyűjtemény két lépésben történik
- Először állapítsa meg a típus (típus) gyűjtemény (assoc_array_type_def tervezés, varray_type_def és nested_table_type_def lesz később)
típusú gyűjtemények
PL / SQL blokk
csomag
séma szinten
Csak bizonyos rendszerek szintjén
asszociatív tömb
Más néven index tábla vagy PL / SQL tábla.
Típus a következőképpen jellemezhető (assoc_array_type_def):.

- Kell helyezni a memória a kis tábla, könyvtárak
- A pass paraméterként gyűjtemény
korlátozások:
Ha megváltoztatja a beállításokat, és NLS_SORT NLS_COMP a munkamenet során befejezése után egy asszociatív tömb, akkor kap meglepő eredmények arra hívják fel az első módszer, az utolsó, következő, előző. Ön is problémát tapasztal küldésekor egy asszociatív tömböt paraméterként másik DB különböző beállításokkal és NLS_SORT NLS_COMP
Ez egy sor egymás után tárolt elemek
Típus a következőképpen jellemezhető (varay_type_def):
- A méretet a megadott létrehozása
- indexált 1
- inicializálja a tervező
- Ha a paraméterek nem kerülnek át a kivitelező, egy üres gyűjtemény vissza
- Datatype - bármilyen adattípus, kivéve a ref kurzor
- Tudjuk, hogy a lehető legnagyobb számú elemet
- Hozzáférés az elemek a szekvencia
korlátozások:
A maximális mérete - 2147483647 elemek
beágyazott táblázat
Típus a következőképpen jellemezhető (nested_table_type_def):
- Méret dinamikusan változik gyűjtemény
- Talán lemerült állapotban, mint a képen látható
< - inicializálja a tervező
- Ha a paraméterek nem kerülnek át a kivitelező, egy üres gyűjtemény vissza
- Datatype - bármilyen adattípus, kivéve a ref kurzor
- Ha csupán egyetlen skalár érték, az oszlop nevét - Column_Value
- Ha a paraméterek a kivitelező nem telt el, egy üres gyűjtemény vissza
Set műveletek beágyazott táblázatok
Kezelés csak akkor lehetséges, gyűjtemények beágyazott táblázatban. Mindkét gyűjtemény a műveletben részt vevő legyen az azonos típusú.
Az eredmény a művelet is a gyűjtemény beágyazott táblázatban.
- Törlése törli az összes elemet. Azonnal törli a lefoglalt memória tárolja ezeket az elemeket.
- Törlés (n) eltávolítja az elemet a n index. A memória nem szabadult. Az elem lehet állítani (azaz, meg egy újat), és ez lesz ugyanaz a memória, hogy tartotta az előzőt.
- Törlés (n, m) eltávolítja az elemek indexek időközzel n..m
- Ha a törölt elem a gyűjteményben, nem csinál semmit.
- Trim () - törli egy elem végén a gyűjtemény. Ha nincs elem kivételt dob SUBSCRIPT_BEYOND_COUNT
- Vágás (n) - eltávolítja n elem végén a gyűjtemény. Ha az elemek kevesebb, mint n, kivétel dobott SUBSCRIPT_BEYOND_COUNT
- Működik egy belső méret a gyűjtemény. Ie Ha az utolsó elem eltávolításra került a segítségével törlése, hívja a Trim () eltávolítja az elemet már korábban eltávolított.
- Azonnal törli a lefoglalt memória tárolására ezen elemek
- Ez jobb, ha nem használja együtt a Delete ()
- EXTEND hozzáad egy elemet a nulla értéket a végén a gyűjtemény
- EXTEND (n) hozzáadja a n elem, amelynek a null értéket végén a gyűjtemény
- EXTEND (N, i) hozzáad egy elemet n példányban a i index a végén a gyűjtemény. Ha a gyűjtemény nem NULL konstreynt, csak ebben a formában lehet használni.
- Ha az elemeket már korábban eltávolítottuk eljárás törlése, meghosszabbítása nem fogja használni, hogy megtartja a gyűjtemény memória sejtek, és adjunk hozzá egy új elemet (kiosztani új memória)