CAST d'une table problèmatique
Bonjour à tous,
En cette fin de semaine je ne pensais pas tomber sur un problème de SQL.:calim2:
J'explique :
Je suis sur Oracle 11g.
J'ai un type de table MONTYPEDETABLE défini ainsi :
Code:
create or replace TYPE "MONTYPEDETABLE" AS TABLE OF VARCHAR2(4000);
Et j'effectue la requête suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
SELECT * FROM (
SELECT
d.code_dest,
l.id_livraison,
l.code_livr,
l.nom_lieu_livr,
l.pays_livr
FROM
LIVRAISON l,
DESTINATAIRES d
WHERE
l.id_destinataire = d.id_destinataire
)
QRSLT WHERE (
(
code_dest MEMBER OF (
CAST (
(
SELECT d2.code_dest from DESTINATAIRES d2 WHERE d2.code_dest='XXXXXX'
)
AS MONTYPEDETABLE
)
)
)
)
ORDER BY "CODE_LIVR"; |
Une exception est remontée :
Code:
1 2 3 4 5 6
|
ORA-00932: types de données incohérents ; attendu : - ; obtenu : CHAR
00932. 00000 - "inconsistent datatypes: expected %s got %s"
*Cause:
*Action:
Erreur à la ligne 19, colonne 17 |
L'erreur provient du CAST( ... AS MONTYPEDETABLE).
Le type de DESTINATAIRES.CODE_DEST est VARCHAR2(20).
Si vous avez des pistes de correction je prend.
Merci