Eindelijk een oplossing voor dit probleem gekregen, dankzij wat graafwerk door een gebruiker. Het probleem lag niet bij de tijdelijke aanduiding; waarom het werkte zonder de tijdelijke aanduiding op de VirtualBox-afbeelding, ik heb geen idee. Nee, het probleem was met de COLLECT()
. Het lijkt erop dat beide waarden die worden verzameld, naar een specifiek type moeten worden gegoten, en de resulterende array moet ook worden gecast naar een vooraf gedefinieerd array-gegevenstype. Toevallig heeft mijn code een aangepast arraytype:
CREATE TYPE sqitch_array AS varray(1024) OF VARCHAR2(512);
Dus ik kan de query laten werken door de COLLECT()
. te casten zoals zo:
CAST(COLLECT(CAST(t.tags as VARCHAR2(512))) AS sqitch_array)