Äntligen fick jag en lösning på det här problemet, tack vare lite grävande av en användare. Problemet låg inte i platshållaren; varför det fungerade utan platshållaren på VirtualBox-bilden har jag ingen aning om. Nej, problemet var med COLLECT()
. Verkar som att båda värdena som samlas in måste gjutas till en specifik typ, och den resulterande arrayen måste också castas till en fördefinierad arraydatatyp. Det råkar vara så att min kod har en anpassad arraytyp:
CREATE TYPE sqitch_array AS varray(1024) OF VARCHAR2(512);
Så jag kan få frågan att fungera genom att casta COLLECT()
som så:
CAST(COLLECT(CAST(t.tags as VARCHAR2(512))) AS sqitch_array)