Pb script reprise de données

007theboss Messages postés 2 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 28 juin 2005 - 27 juin 2005 à 14:54
007theboss Messages postés 2 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 28 juin 2005 - 28 juin 2005 à 13:57
Bonjour,
j'ai un problème avec un script de reprise de données sur une base oracle 9i (Du coup je sais pas trop si ce post est à sa place :-). Je lance ce script depuis sqlplus.

Une première partie du script, modifie les tables concernées,
une seconde fait la mise à jour des données avec un curseur,
et la dernière modifie les tables afin d'ajouter les contraintes sur les nouvelles colonnes. Je vous met le script en simplifié :

----------------------------------------------------------------------------
ALTER TABLE CUMUL_E36_ETAB_PA
ADD EEP_DTDPA DATE NULL;
commit;


DECLARE


--Varibles Globale-------------


plan_ale PLAN_ACTIONS.PLA_ALEPA%TYPE:= ''; -- Numero ale du plan d'action --
plan_num PLAN_ACTIONS.PLA_NUMPA%TYPE:= ''; -- numero du plan d'action --
plan_date PLAN_ACTIONS.PLA_DTDPA%TYPE; -- Date du plan d'action --



-- Creation du curseur -------------------
CURSOR cur_sel IS

SELECT PLA_ALEPA ,
PLA_NUMPA,
PLA_DTDPA
FROM PLAN_ACTIONS
ORDER BY PLA_DTDPA;

BEGIN


OPEN cur_sel ;


-- Ouverture du curseur ----------------
LOOP


-- BOUCLAGE DU CURSEUR --


FETCH cur_sel INTO plan_ale ,
plan_num,
plan_date;
EXIT WHEN cur_sel%NOTFOUND;

UPDATE CUMUL_E36_ETAB_PA
SET EEP_DTDPA=plan_date WHERE EEP_ALEPA plan_ale and EEP_NUMPA plan_num;



END LOOP;


END;

ALTER TABLE CUMUL_E36_ETAB_PA MODIFY EEP_DTDPA DATE NOT NULL;

alter table CUMUL_E36_ETAB_PA
add constraint ICO_FK_EEP_PLA foreign key (EEP_ALEPA, EEP_NUMPA, EEP_DTDPA)
references PLAN_ACTIONS (PLA_ALEPA, PLA_NUMPA, PLA_DTDPA);


spool off


exit;
/

----------------------------------------------------------------------------------

Quand je le lance, j'ai une erreur au niveau des "update" qui se situe après le "end;".

Chaque partie du script fonctionne séparement, mais c'est quand j'essaie de tous faire en une seule fois que cela plante. Est ce quelqu'un peut m'aider en me donnant la syntaxe exacte à utiliser ???
merci..

2 réponses

cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
28 juin 2005 à 13:21
Que te dit ton message d'erreur ? Sais tu si tu as ton erreur dès ton premier update ou non ?

++
Moustachu
0
007theboss Messages postés 2 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 28 juin 2005
28 juin 2005 à 13:57
En fait je me suis trompé, ce n'est pas dans les "update" mais dans les "alter" situé aprèsd le "end;"...
IL me dit : "alter" inattendu.... dès le premier "alter table"

Merci
0
Rejoignez-nous