Bonjour à tous,
Après de longue recherche sur le net et ce forum, je me résoud à poster ici.
Je souhaite importer un fichier txt dans la table DEMO_CUSTOMER qui contient déjà des données. Voici le SQL de cette table:
J'essaye ensuite d'importer mon fichier à l'aide du fichier de controle qui suit:
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 CREATE TABLE "DEMO_CUSTOMERS" ( "CUSTOMER_ID" NUMBER NOT NULL ENABLE, "CUST_FIRST_NAME" VARCHAR2(20) NOT NULL ENABLE, "CUST_LAST_NAME" VARCHAR2(20) NOT NULL ENABLE, "CUST_STREET_ADDRESS1" VARCHAR2(60), "CUST_STREET_ADDRESS2" VARCHAR2(60), "CUST_CITY" VARCHAR2(30), "CUST_STATE" VARCHAR2(2), "CUST_POSTAL_CODE" VARCHAR2(10), "PHONE_NUMBER1" VARCHAR2(25), "PHONE_NUMBER2" VARCHAR2(25), "CREDIT_LIMIT" NUMBER(9,2), "CUST_EMAIL" VARCHAR2(30), CONSTRAINT "DEMO_CUST_CREDIT_LIMIT_MAX" CHECK (credit_limit <= 5000) DISABLE, CONSTRAINT "DEMO_CUSTOMERS_PK" PRIMARY KEY ("CUSTOMER_ID") ENABLE ) / CREATE INDEX "DEMO_CUST_NAME_IX" ON "DEMO_CUSTOMERS" ("CUST_LAST_NAME", "CUST_FIRST_NAME") / CREATE OR REPLACE TRIGGER "INSERT_DEMO_CUST" BEFORE INSERT ON demo_customers FOR EACH ROW DECLARE cust_id number; BEGIN SELECT demo_cust_seq.nextval INTO cust_id FROM dual; :new.CUSTOMER_ID := cust_id; END; / ALTER TRIGGER "INSERT_DEMO_CUST" DISABLE
Et en résultat, j'obtiens ce message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 LOAD DATA INFILE 'c:\IF\NAW\IN\naw_o2ap.cur' APPEND INTO TABLE DEMO_CUSTOMERS TRAILING NULLCOLS ( CUSTOMER_ID "demo_cust_seq.nextval", CUST_FIRST_NAME POSITION(1:10), CUST_LAST_NAME POSITION(11:20), CUST_STREET_ADDRESS1 POSITION(21:25), CUST_STREET_ADDRESS2 POSITION(26:30), CUST_EMAIL POSITION(31:40) )
Je ne comprends pas pourquoi le n° de séquence reste null? Si qqn à une idée!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Nom de colonne Position Long. Séparat. Encadrem. Type de données ------------------------------ ---------- ----- ---- ---- --------------------- CUSTOMER_ID FIRST 1 CHARACTER chaîne SQL pour la colonne : "demo_cust_seq.nextval" CUST_FIRST_NAME 1:10 10 CHARACTER CUST_LAST_NAME 11:20 10 CHARACTER CUST_STREET_ADDRESS1 21:25 5 CHARACTER CUST_STREET_ADDRESS2 26:30 5 CHARACTER CUST_EMAIL 31:40 10 CHARACTER Enregistrement 1 : Rejeté - Erreur sur table DEMO_CUSTOMERS. ORA-00604: une erreur s'est produite au niveau SQL récursif 1 ORA-01400: impossible d'insérer NULL dans ("HR"."DEMO_CUSTOMERS"."CUSTOMER_ID")
Merci d'avance!
AkA
Partager