Pl/sql

Forum Programmation : Pl/sql

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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 :
  1. create or replace function maxi (max1 in table_sitechantier.refsuperviseur%type)
  2. return number
  3. is
  4. x number;
  5. pragma autonomous_transaction;
  6. begin
  7. execute immediate 'x:=select count(*) as c from table_sitechantier where nosc= :1; return(x);
  8. 'USING max1;
  9. end maxi;



j'ai appelle cette fonction dans mon trigger

Code :
  1. create or replace function maxi (max1 in table_sitechantier.refsuperviseur%type)
  2. return number
  3. is
  4. x number;
  5. pragma autonomous_transaction;
  6. begin
  7. execute immediate 'x:=select count(*) as c from table_sitechantier where nosc= :1; return(x);
  8. 'USING max1;
  9. end maxi;



mais au niveau d'une insertion dans la table et voici l'erreur

Code :
  1. insert into table_sitechantier select 200,'ouaga',ref(c),ref(c) from table_chef c  where c.nas=80
  2. *
  3. ERROR at line 1:
  4. ORA-00900: invalid SQL statement
  5. ORA-06512: at "MOUSTAF.MAXI", line 7
  6. ORA-06512: at "MOUSTAF.T_MAX", line 4
  7. ORA-04088: error during execution of trigger 'MOUSTAF.T_MAX'


vraiment je ne vois ou est l'erreur. merci

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Tom's Guide > Forum > Programmation > Pl/sql
Aller à :

Il y a 1440 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens