Jeu de caractères Erreur d'Incompatibilité dans Oracle
J'ai requête suivante avec moi que je suis en train de lancer:
SELECT Script from (
SELECT 9 as ColOrder, ' INSERT INTO PROJ VALUES(' || ID || ',''' || Name || ''', ''' || Version || ''', ''ABCD'', sysdate , ''ABCD'', sysdate);' as Script FROM PROJ where Name like '%[Param.1]%'
union
SELECT 11 as ColOrder,' INSERT INTO PROJMOD VALUES(' || ID || ', ' || ProjID || ', ' || ModID || ', ' || ObjID || ', ''ABCD'', sysdate, ''ABCD'', sysdate);' as Script FROM PROJMOD where ProjID in ( select ID from PROJ where Name like '%[Param.1]%')
) x
Order by ColOrder
Mais il me donne ORA-12704: character set mismatch error.
Quand je exécuter l'instruction select individuellement, cela me donne un bon de sortie, mais quand je suis en train de faire l'union des deux select, il donne du temps de jeu de caractères erreur d'incompatibilité.
Quel est le problème ici?
Comme colorder n'est pas mergable essayer de l'union, au lieu de l'union. Effectuez l'une des colonnes de type nvarchar ou nchar types de données?
Oui, 'ABCD' colonne est de NVARCHAR2. J'ai essayé à l'aide de l'UNION de TOUS, mais il me donne le même message d'erreur.
il ne sera pas le littéral ABCD mais une colonne (id projid ou de nom, etc) voir ma réponse pour plus de détails.
Oui, 'ABCD' colonne est de NVARCHAR2. J'ai essayé à l'aide de l'UNION de TOUS, mais il me donne le même message d'erreur.
il ne sera pas le littéral ABCD mais une colonne (id projid ou de nom, etc) voir ma réponse pour plus de détails.
OriginalL'auteur Soham Shah | 2012-11-13
Vous devez vous connecter pour publier un commentaire.
comme vous l'avez confirmé certaines choses sont de type NVARchar avais ..cast le nvarchar de char par exemple
échoue en tant que "A" est de type NVARCHAR. donc to_char:
ou en fonte de la chaîne littérale "salut" à un type Nvarchar
OriginalL'auteur DazzaL
J'ai juste ajouté TO_CHAR fonctions, et qui va travailler. apparemment, vous avez de champs, avec des types de données de caractère qui ne peut pas être implicitement exprimés par Oracle, donc vous avez juste besoin de jeter explicitement vous-même, toutefois, être prudent pour éviter tout caractère de perte due à la fonte.
OriginalL'auteur mostafa.S
Si vous prenez cette erreur, vous devez regarder à deux conditions.
NVARCHAR2)
OriginalL'auteur egemen