Bonjour à tous,

Ce post fait suite à mon précédent concernant les external tables. Dans mon fichier csv à mettre dans une table externe, j'ai des number(12,2). J'ai vu de nombreux exemples de définition de tables mais aucune avec des colonnes de ce format. Est-ce possible ?
J'ai bien vu exemple avec des float(126) du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
CREATE TABLE skip_tab (
fiscal_year        NUMBER(4),
prod_no            VARCHAR2(30),
cost_per_unit      FLOAT(126),
gross_rev_per_unit FLOAT(126))
ORGANIZATION EXTERNAL (
TYPE oracle_loader
DEFAULT DIRECTORY ctemp
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
SKIP 1
FIELDS TERMINATED BY X'09'
MISSING FIELD VALUES ARE NULL
(fiscal_year INTEGER EXTERNAL (4), prod_no CHAR(30),
cost_per_unit FLOAT EXTERNAL, gross_rev_per_unit FLOAT EXTERNAL))
LOCATION ('cost.txt'));
Ce serait possible de substituer le float(126) par un NUMBER(12,2), et après mettre (par exemple)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
cost_per_unit FLOAT NUMBER(12,2)
ou quelque chose d'approchant.

Faut-il définir le caractère de séparateur décimal (',' ou '.') ? (dans mon fichier csv j'ai des valeurs du style 1235.78)

Voili, voila.

Et je n'ai pas trouvé un cours exhaustif sur les external tables sur le net, vous auriez une suggestion ?

Cordialement.