Utilisation des variables et colonnes dynamiques
Bjr,
Je travail sur Oracle 9i et j'ai un petit problème sur l'utilisation des variables et/ou des colonnes d'une table.
Je vous montre mon code, ceci est une portion de code d'une procédure stockée en base :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
IF v_mod.B1L1C1 = 'O' THEN
BEGIN
SELECT nomreq INTO v_requete
FROM mytable
WHERE EL_CODREQ = replace(v_mod.B1L1C1,':','');
v_requete := ltrim(rtrim(replace(v_requete,';','')));
v_requete := replace(v_requete,' ',' ');
v_requete := replace(v_requete,' ',' ');
v_requete := replace(v_requete,':P_MATRIC',t_mat(i));
v_requete := replace(v_requete,'SELECT ','SELECT SUM(');
v_requete := replace(v_requete,' FROM',') FROM');
EXECUTE IMMEDIATE v_requete into v_b1l1c1;
EXCEPTION WHEN NO_DATA_FOUND THEN
null;
END;
END IF; |
Mon probleme se trouve sur v_mod.B1L1C1 qui est une colonne de la table v_mod et v_b1l1c1 qui est une varible de type varchar2.
Mon idée c'est de passer les chiffre en paramètre dans le style : 'v_mod.b'||i||'l'||j||'c'||k. mais la récuperation de la valeur me pose souci.
Dans forms6i c'est possible avec les fonctions name_in pour la récuperation et copy pour l'affectation
En faite j'ai une centaine de controle à faire dans ce style et ça serait super si j'arrive à le faire dans une boucle.
Est-ce que quelqu'un auri t'il une idée?
merçi