un curseur dynamique où le nom de la table est un argument
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:
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.