salut les amis,j'ai une urgence, en fait je veux faire marcher un trigger before insert sur une table t dans lequel je vais faire un select sur la meme table.(probleme table mutante).j'ai essaye les exception resultat ca ne affiche pas l'erreur de table mutante mais ca n'execute pas les instructions, j'ai essaye avec ce code
Code :
create or replace function maxi (max1 in table_sitechantier.refsuperviseur%type)
return number
is
x number;
pragma autonomous_transaction;
begin
execute immediate 'x:=select count(*) as c from table_sitechantier where nosc= :1; return(x);
'USING max1;
end maxi;
j'ai appelle cette fonction dans mon trigger
Code :
create or replace function maxi (max1 in table_sitechantier.refsuperviseur%type)
return number
is
x number;
pragma autonomous_transaction;
begin
execute immediate 'x:=select count(*) as c from table_sitechantier where nosc= :1; return(x);
'USING max1;
end maxi;
mais au niveau d'une insertion dans la table et voici l'erreur
Code :
insert into table_sitechantier select 200,'ouaga',ref(c),ref(c) from table_chef c where c.nas=80
*
ERROR at line 1:
ORA-00900: invalid SQL statement
ORA-06512: at "MOUSTAF.MAXI", line 7
ORA-06512: at "MOUSTAF.T_MAX", line 4
ORA-04088: error during execution of trigger 'MOUSTAF.T_MAX'