corr_pl_sql_dyn_8b1adl.sql
----------------------------------------------------------------------------

create or replace procedure p2(f varchar2, n int) is
    texte_ordre varchar2(100);
    y int;
begin
    -- 'begin :1 := traitement3(30); end;'
    -- texte_ordre := 'begin :1 := '||f||'(n); end;';
    -- 'begin :1 := traitement3(n); end;'
    texte_ordre := 'begin :1 := '||f||'('||n||'); end;';
    dbms_output.put_line(texte_ordre);
    execute immediate texte_ordre using out y;
    dbms_output.put_line(y);
end;
/

exec p2('traitement3', 30)

-- interdit car pas repetition : variable formelle in :
--    command := 'begin :1 :=' || f || '(:2);end;';
--    execute immediate command using out res, n; -- n, out res;

----------------------------------------------------------------------------
-- exo 3 :

create or replace procedure traitement2_gen(

declare
    -- ???
begin
    -- ... appel de traitement2_gen(
    --              nom_user varchar2, in1, in2, ..., out1, out2, ...) ...
    -- print valeurs retours de traitement2 de l'utilisateur nom_user
end;

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

