effectuer du pl/sql intéractif
Bonjour,
J'ai lu dans des documentations qu'il était impossible de faire du pl/sql intéractif. Cependant, j'ai pu apercevoir dans des posts antérieurs des moyens d'en faire.
Je me suis inspiré de ces posts afin de faire une procédure avec des prompt à l'intérieur :
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
SET SERVEROUTPUT ON
CREATE OR REPLACE PROCEDURE modifier_entorg
( entorg_old IN organigramme%TYPE,
entorg_new IN organigramme%TYPE
)
IS
ent pers_orga_fonc.ENTORG%TYPE;
v_ent pers_orga_fonc.ENTORG%TYPE;
v_codagt pers_orga_fonc.CODAGT%TYPE;
v_coord pers_com.COORDONNEES%TYPE;
err_num NUMBER:=0;
err_msg varchar(1000);
BEGIN
dbms_output.enable(200000);
ACCEPT entorg_old PROMPT 'Saisir ancien entorg : '
DECLARE
ent pers_orga_fonc.ENTORG%TYPE;
ent := &entorg_old
Cursor c_curs is
select pof.CODAGT, pof.ENTORG, pof.coordonnees
from pers_orga_fonc pof, personne p, pers_com pc, communication c
where pof.CODAGT=p.CODAGT
and pof.CODCOL_AGENT=p.CODCOL_AGENT
and p.CODAGT=pc.CODAGT
and p.CODCOL_AGENT=pc.CODCOL_AGENT
and pc.COORDONNEES=c.COORDONNEES
and pof.ENTORG='''||ent||''';
Open c_curs;
Loop
Fetch c_curs into v_codagt, v_ent, v_coord;
dbms_output.putline(v_codagt);
End Loop;
exception
when others then
err_num := SQLCODE;
err_msg := SUBSTR(SQLERRM, 1, 1000);
dbms_output.put_line('Err num = ' || to_char(err_num) );
dbms_output.put_line('Err msg = ' || err_msg );
End;
END modifier_entorg;
/ |
Je reçois un message d'erreur me stipulant que ma procédure a été créée avec des erreurs de compilation, cependant, je n'ai pas d'affichage des messages d'erreurs.
Quelqu'un aurait une idée ?
Merci
ps : pour info voici le lien que j'ai utilisé.
http://www.developpez.net/forums/sho...=prompt+accept