Bonjour,

J'aimerais pouvoir executer une requête passé en paramètre dans une fonction PL/SQL

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
CREATE OR REPLACE
FUNCTION exemple (
    essai varchar2
) RETURN PLS_INTEGER
BEGIN
    EXECUTE IMMEDIATE essai; --> marche
 
    FOR r IN (
        SELECT champs1 from table1
    ) LOOP 
        delete from table2 where code=r.champs1
    END LOOP; --> marche
 
    FOR r IN (
        EXECUTE IMMEDIATE essai
    ) LOOP 
         delete from table2 where code=r.champs1
    END LOOP; --> marche pas
 
 
    return 1;
END exemple;
Je n'arrive pas a faire fonctionner ce code. Existe t'il d'autres solutions ?

Par exemple quelque chose qui permette de concatener une requete sql et un varchar ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
FOR r IN (
        SELECT champs1 from table1 where essai;
    ) LOOP 
        delete from table2 where code=r.champs1
    END LOOP;
Merci pour votre aide.