Bonjour,

j'aimerais faire un mapping sur la colonne d'une table externe.

Voici mon exemple :
J'ai un fichier avec le champ sEmail. Lors du chargement de cette colonne du fichier via une table externe, j'aimerais remplacer le caractère "ë" par "@"


Mon ordre SQL pour le moment est le suivant (j'ai limité le nombre de colonnes pour pas que ce soit illisible) :

CREATE TABLE test(
sEmail VARCHAR(80),
tsDat_email_idv date
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY test
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
CHARACTERSET 'WE8ISO8859P1'
STRING SIZES ARE IN CHARACTERS
BADFILE test:test.bad'
LOGFILE test:test.log'
DISCARDFILE test:test.dsc'
SKIP 1
FIELDS TERMINATED BY ";"
MISSING FIELD VALUES ARE NULL
(
sEmail POSITION(192:256)
,tsDat_email_idv POSITION(258:267) char DATE_FORMAT DATE MASK "dd.mm.yyyy"
))
LOCATION (test.txt')
)
PARALLEL
REJECT LIMIT UNLIMITED



Y-a-t-il moyen de changer la ligne
,sEmail POSITION(192:256)
par quelque chose du style
,sEmail POSITION(192:256) "replace(:sEmail,'ë','@',:sEmail)"

J'ai essayé cette façon de faire qui ne marche malheureusement pas.
Et j'aimerais éviter de copier ma table externe dans une autre table que je mettrai ensuite à jour.

Merci bien pour votre aide.