procédure ne fonctionne pas
Bonjour,
J'ai réalisé une procédure, elle insert une ligne dans une table(projet), et elle reprend le code de la nouvelle ligne pour en insert une autre dans une autre table(activite), Sans le rollback la premiére est bien inseré, mais pas la deuxieme. Si vous avez une idée de mon erreur... merci d'avance.
Code:
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
| CREATE OR REPLACE
PROCEDURE COPIE8PROJ (code in projet.projcode%type) AS
codep projet.projcode%type;
codea activite.actiidlot%type;
p projet%rowtype;
acti activite%rowtype;
BEGIN
select code_proj into codep from dual;
select * into p from projet where projcode = code;
insert into projet values (codep, p.clino, p.typprojid, p.sectactiid, p.colabmatri, p.projchaglobesti, p.projcyclvi, p.projdtdbuprev,
p.projdtfnprev, p.projdtreeldbu, null, p.projlibcour, p.projliblon, p.projnbcolab, 'copie');
select id_lot(codep) into codea from dual ;
select * into acti from activite where projcode = code and actiidlot = to_number(concat(code, to_char('01')));
insert into activite values (codea, acti.typactiid, codep, 0, 0, 0);
commit;
exception
when others then
dbms_output.put_line('erreur');
rollback;
END COPIE8PROJ; |
oracle 11g, win xp