Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
999 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  trigger sql non valide

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

trigger sql non valide

n°2028522
puisquetur​epondspas
Posté le 12-10-2010 à 10:56:44  profilanswer
 

CREATE OR REPLACE TRIGGER "GESTION_DB"."TRIG_CD_BUR_PAYEUR_UNIQUE"  
BEFORE INSERT OR UPDATE  
ON TREGLT
REFERENCING New AS NEW Old AS OLD
FOR EACH ROW WHEN (new.cd_bur_payeur != ' ')  
  BEGIN          
    IF (select cd_bur_payeur from TBUR_PAYEUR where cd_bur_payeur=:new.cd_bur_payeur) is NULL THEN
        RAISE_APPLICATION_ERROR(-20000 , 'Code Bureau Payeur inexistant');
    END IF;
   END;
END;
/
 
Warning: compiled but with compilation errors
END;
Error at line 11
ORA-00900: instruction SQL non valide
 
Pourquoi l'instruction sql est invalide??????????????????????

mood
Publicité
Posté le 12-10-2010 à 10:56:44  profilanswer
 

n°2028610
lasnoufle
La seule et unique!
Posté le 12-10-2010 à 14:38:19  profilanswer
 

T'as un END; de trop à la fin non?

 

Une fois ca corrigé, ca ne marchera probablement toujours pas parce que tu peux pas utiliser une requete comme ca directement dans le code. Enfin je crois. Si c'est bien le cas il te faudra un truc du genre:

CREATE OR REPLACE TRIGGER "GESTION_DB"."TRIG_CD_BUR_PAYEUR_UNIQUE"  
BEFORE INSERT OR UPDATE  
ON TREGLT
REFERENCING New AS NEW Old AS OLD
FOR EACH ROW WHEN (new.cd_bur_payeur != ' ')
DECLARE
  v_nb_bureaux NUMBER;
BEGIN
  select count(cd_bur_payeur) into v_nb_bureaux from TBUR_PAYEUR where cd_bur_payeur=:new.cd_bur_payeur;
  IF v_nb_bureaux=0 THEN
    RAISE_APPLICATION_ERROR(-20000 , 'Code Bureau Payeur inexistant');
  END IF;
END;
/


Et ya surement plus propre, enfin tu vois l'idée.

 

Edit: pourquoi ne pas utiliser une clé étrangère tout simplement plutot que te faire chier avec un trigger?


Message édité par lasnoufle le 12-10-2010 à 14:39:19

---------------
C'était vraiment très intéressant.
n°2028621
esox_ch
Posté le 12-10-2010 à 15:25:02  profilanswer
 

@puisqueturepondspas: Tu sais que ça n'a jamais tué personne de dire bonjour, s'il vous plait, merci, au revoir?
C'est pas la première fois que tu arrives ici, poste un bout de code sans dire un mot et t'attends à une résolution du problème.  
Un peu de politesse et de savoir vivre svp :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  trigger sql non valide

 

Sujets relatifs
Trigger SQL sur colonne Updatelancement d'un script php suite a un trigger
Trigger en MySQLtrigger sous requete
Trigger ne marche pas avec mon appli alors qu'il marche sous ligne deVSB et excel fichier VALIDE - on peut fermer le post
Trigger : OracleMySql Trigger et VBnet
[Résolu][Trigger] mise a jour d'un champ lors de l'uptate d'un autreProblème RSS valide qui ne s'affiche pas
Plus de sujets relatifs à : trigger sql non valide


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR