Bonjour,

La réponse peut être évidente, je m'en excuse d'avance si tel est le cas. Ma question est la suivante. J'ai écrit une procédure ont le but est de purger divers tables. Les traitements de purges étant sensiblement les mêmes d'une table à une autre, je souhaite factoriser mon code. Le problème est que visiblement il n'est pas possible dans un curseur dynamique de déclarer la table comme un paramètre... Ci_dessous, la portion de code posant problème :

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
PROCEDURE purge_table(SITE              IN NUMBER,
                      TABLE_NAME        IN VARCHAR2,
                      TABLE_COLUMN_SITE IN VARCHAR2,
                      TABLE_COLUMN_DATE IN VARCHAR2,
                      TABLE_PARAM       IN NUMBER,
                      POSTE_PARAM       IN NUMBER,
                      P_RETOUR          OUT NUMBER) IS
 
  delai number;
  CURSOR C_TABLE(p_delai number, p_site number) IS
    SELECT t.rowid
      FROM TABLE_NAME t
     WHERE trunc(TABLE_COLUMN_DATE) < sysdate - p_delai
       AND TABLE_COLUMN_SITE = p_site;
...
Avez vous une idée ?

D'avance, merci pour votre contribution.