Finalmente ho trovato una soluzione a questo problema, grazie ad alcuni scavi da parte di un utente. Il problema non era con il segnaposto; perché ha funzionato senza il segnaposto sull'immagine VirtualBox non ne ho idea. No, il problema riguardava COLLECT()
. Sembra che sia necessario eseguire il cast di entrambi i valori raccolti su un tipo specifico, e l'array risultante deve anche essere convertito in un tipo di dati array predefinito. Accade solo che il mio codice abbia un tipo di array personalizzato:
CREATE TYPE sqitch_array AS varray(1024) OF VARCHAR2(512);
Quindi sono in grado di far funzionare la query eseguendo il casting di COLLECT()
così:
CAST(COLLECT(CAST(t.tags as VARCHAR2(512))) AS sqitch_array)