Finalmente obtuve una solución a este problema, gracias a la investigación de un usuario. El problema no estaba en el marcador de posición; por qué funcionó sin el marcador de posición en la imagen de VirtualBox, no tengo idea. No, el problema estaba en COLLECT()
. Parece que ambos valores que se recopilan deben convertirse en un tipo específico, y la matriz resultante también debe convertirse en un tipo de datos de matriz predefinido. Da la casualidad de que mi código tiene un tipo de matriz personalizada:
CREATE TYPE sqitch_array AS varray(1024) OF VARCHAR2(512);
Entonces puedo hacer que la consulta funcione emitiendo COLLECT()
así:
CAST(COLLECT(CAST(t.tags as VARCHAR2(512))) AS sqitch_array)