sql >> Database teknologi >  >> RDS >> Oracle

Hvorfor får jeg ORA-00932:inkonsistente datatyper:forventet - fik - når jeg bruger COLLECT() i en forberedt sætning?

Endelig fik en løsning på dette problem, takket være nogle grave fra en bruger. Problemet var ikke med pladsholderen; hvorfor det fungerede uden pladsholderen på VirtualBox-billedet aner jeg ikke. Nej, problemet var med COLLECT() . Det ser ud til, at både de værdier, der indsamles, skal castes til en bestemt type, og det resulterende array skal også castes til en foruddefineret array-datatype. Tilfældigvis har min kode en tilpasset matrixtype:

CREATE TYPE sqitch_array AS varray(1024) OF VARCHAR2(512);

Så jeg er i stand til at få forespørgslen til at fungere ved at caste COLLECT() sådan:

CAST(COLLECT(CAST(t.tags as VARCHAR2(512))) AS sqitch_array)



  1. Sådan ser du forespørgselshistorik i SQL Server Management Studio

  2. Manglende rækker ved forespørgsel i tabel med Doctrine (Symfony2)

  3. SQL ORDER BY klausul for begyndere

  4. Hvor findes MySQL-databasefilerne for WAMP?