Ik ben druk met een package te maken in PL/SQL.
Nu gebruik ik een procedure die een andere procedure meerdere malen aanroept, maar steeds met verschillende params.
Nu wil ik het aanroepen van de tweede functie graag doen vanuit een array of lijst.
Ik heb er al aan gedacht om een tijdelijke tabel te gebruiken, maar ik wil liever niet de database uitbreiden.
Ik dacht iets te doen met VARRAY, maar dat krijg ik niet voor elkaar. Ik kan er wel wat invullen (alleen de afkorting, niet de omschrijving) maar ik snap niet hoe ik er door heen moet lopen.
De array wil ik voor meerdere functies in dezelfde package gebruiken.
pseudo-code:
Wat is de beste manier om dit in PL/SQL code op te lossen?
Nu gebruik ik een procedure die een andere procedure meerdere malen aanroept, maar steeds met verschillende params.
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| PROCEDURE invullen( p_afkorting IN VARCHAR2 ,p_descr IN VARCHAR2 ) IS BEGIN INSERT INTO [...] END invullen; PROCEDURE start() IS BEGIN invullen('a', 'Omschrijving a'); invullen('b', 'Omschrijving b'); invullen('c', 'Omschrijving c'); END start; |
Nu wil ik het aanroepen van de tweede functie graag doen vanuit een array of lijst.
Ik heb er al aan gedacht om een tijdelijke tabel te gebruiken, maar ik wil liever niet de database uitbreiden.
Ik dacht iets te doen met VARRAY, maar dat krijg ik niet voor elkaar. Ik kan er wel wat invullen (alleen de afkorting, niet de omschrijving) maar ik snap niet hoe ik er door heen moet lopen.
De array wil ik voor meerdere functies in dezelfde package gebruiken.
pseudo-code:
code:
1
2
3
4
| fillArray; for lbound(g_arrAfkortingen) to ubound(g_arrAfkortingen) invullen(g_arrAfkortingen[0], g_arrAfkortingen[1]); next |
Wat is de beste manier om dit in PL/SQL code op te lossen?