Enfin obtenu une solution à ce problème, grâce à quelques recherches par un utilisateur. Le problème n'était pas avec l'espace réservé; pourquoi cela a fonctionné sans l'espace réservé sur l'image VirtualBox, je n'en ai aucune idée. Non, le problème était avec le COLLECT()
. Il semble que les deux valeurs collectées doivent être converties en un type spécifique, et le tableau résultant doit également être converti en un type de données de tableau prédéfini. Il se trouve que mon code a un type de tableau personnalisé :
CREATE TYPE sqitch_array AS varray(1024) OF VARCHAR2(512);
Je peux donc faire fonctionner la requête en lançant le COLLECT()
comme ça :
CAST(COLLECT(CAST(t.tags as VARCHAR2(512))) AS sqitch_array)