Bonjour à tous,
Je post car là je ne vois pas du tout et cela me déprime.
j'ai l'erreur ' mot clé absent' dans ma procédure de test ci
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
23
24
25
26
27
28
29
30
31
 
create or replace
procedure                ttest
as
 
req6 varchar2(512);
Nbcol integer;
valeurcol varchar2(128);
 
begin
dbms_output.PUT_LINE('debut');
for rec in (Select distinct J.Nom_Col 
from Journal_Colonne J,Table_Journal T 
where J.Id_Table_journal=T.Id_Table_journal
and nom_table='TITULAIRE')
loop 
if rec.Nom_Col = 'ADREMP' then
null;
select count(*) into Nbcol from Journal_Colonne where Nom_Col='ADREMP';
else
valeurcol:=rec.Nom_Col;
dbms_output.PUT_LINE('ds le loop valeur de col : ' || valeurcol);
req6 := 'Select count(*) into Nbcol from Journal_Colonne where Nom_Col = :1';
dbms_output.PUT_LINE('apres affectation de req6');
execute immediate  req6  into Nbcol using valeurcol ;
dbms_output.PUT_LINE('apres execute immediate');
end if;
 
dbms_output.PUT_LINE(' colonne ' || rec.Nom_Col || ' nbvaleur : ' || Nbcol);
  end loop;
end ttest;
dessus :

je suis en train de tester une solution d'historisation, et dans le cadre de la création des trigger je test certain bout de code du futur trigger qui sera sur les tables......
j'ai beau regarder dans tous les sens, je ne vois pas pk le code dynamique ne pase passe....
apres éxécution sous sql plus voici la sortie :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
debut
colonne ADREMP nbvaleur : 2
ds le loop valeur de col : CIVILI
apres affectation de req6
BEGIN wk.ttest; END;
 
*
ERREUR à la ligne 1 :
ORA-00905: Mot-clé absent
ORA-06512: à "WK.TTEST", ligne 23
ORA-06512: à ligne 1
Merci pour votre votre aide.