Assignation entre variables %ROWTYPE
bonjour,
j'essaie de copier le contenu d'une variable de type %ROWTYPE dans une autre mais pas moyen :(. Le second %ROWTYPE est identique au premier, à l'exception près qu'il y a une colonne de plus:
TABLE historique
id, etat_p, mnt_p, (plus de 50 colonnes) ...
TABLE historique_tmp
mêmes colonnes que la table historique, mais avec en plus la colonne qui suit:
distribution number;
Ça me donne une erreur à la compilation:
PLS-00382: expression is of wrong type
C'est tiré d'une procédure stockée sur Oracle 11g:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
CURSOR cur_historique IS
select * from historique;
l_historique historique%ROWTYPE;
l_historique_tmp historique_tmp%ROWTYPE;
l_aleatoire number;
OPEN cur_historique;
LOOP
FETCH cur_historique INTO l_historique;
EXIT WHEN cur_historique%NOTFOUND;
l_aleatoire := FCT_ALEATOIRE();
l_historique_tmp := l_historique; -- PLS-00382: expression is of wrong type
l_historique_tmp.distribution := l_aleatoire;
INSERT INTO historique_tmp t VALUES l_historique_tmp;
END LOOP;
CLOSE cur_historique; |