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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Erreur : ISNULL is not Declared sur Orale 8i

 

Sujet(s) à lire :
    - Visual C++
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur : ISNULL is not Declared sur Orale 8i

n°1542613
tibik
It's time to switch
Posté le 13-04-2007 à 13:43:30  profilanswer
 

Bonjour Tous,
j'ai contruit le trigger suivant sur une base de données Oracle 8i ou j'ai deux schéma COMMUN et DELTACOMMUN
 

Code :
  1. CREATE OR REPLACE TRIGGER trig_langue
  2. AFTER INSERT ON COMMUN.ES_LANGUE
  3. FOR EACH ROW
  4. DECLARE
  5. SPY INTEGER;
  6. BEGIN
  7.    if inserting then
  8.    select ISNULL(DML,0) into SPY from DELTACOMMUN.ES_LANGUE where code = :new.code;
  9.    if SPY = 3 then
  10.     insert into DELTACOMMUN.ES_LANGUE values (:new.code,:new.libelle,:new.symbole,2);
  11.    else 
  12.    insert into DELTACOMMUN.ES_LANGUE values (:new.code,:new.libelle,:new.symbole,1);
  13.    end if;
  14.    end if;


 
 
Seulement à l'éxecution du trigger , j'ai l'erreur qui dit que ISNULL doit être déclaré. je comprends rien..
est ce que ISNULL n'est pas supporté par oracle 8i?
j'ai esssayé ifnull, nullif et coalsce mais toujours la même erreur.
quelqu'un peut m'aider SVP.
Merci

mood
Publicité
Posté le 13-04-2007 à 13:43:30  profilanswer
 

n°1542615
tibik
It's time to switch
Posté le 13-04-2007 à 13:45:11  profilanswer
 

je reprends le bout de code ici parceque ça se voir pas très bien dans mon premier message  
 
 
 
   1.
      CREATE OR REPLACE TRIGGER trig_langue
   2.
      AFTER INSERT ON COMMUN.ES_LANGUE
   3.
      FOR EACH ROW
   4.
      DECLARE
   5.
       
   6.
      SPY INTEGER;
   7.
       
   8.
      BEGIN
   9.
       
  10.
       
  11.
        if inserting then
  12.
        select ISNULL(DML,0) into SPY from DELTACOMMUN.ES_LANGUE where code = :new.code;
  13.
        if SPY = 3 then
  14.
         insert into DELTACOMMUN.ES_LANGUE values (:new.code,:new.libelle,:new.symbole,2);
  15.
        else  
  16.
        insert into DELTACOMMUN.ES_LANGUE values (:new.code,:new.libelle,:new.symbole,1);
  17.
        end if;
  18.
        end if;

n°1542623
tibik
It's time to switch
Posté le 13-04-2007 à 13:56:28  profilanswer
 

Autrement dit, comment peut on empêcher le SELECT de retourner rien ou null? je voudraus à la place de null avoir un nombre, 0 par exemple.
je pense que le isnull permet de faire cela sauf qu'il ne marche pas là.
Faites moi part d'un réponse please.
Thank you!!

n°1542624
casimimir
Posté le 13-04-2007 à 13:56:54  profilanswer
 

nvl(DML,0)

n°1542630
tibik
It's time to switch
Posté le 13-04-2007 à 14:05:44  profilanswer
 

Merci.
Mnt ca marche pour le nvl(DML,0) mais j'ai l'erreur suivante :
 
Aucune donnée trouvée
ORA-06512: à "SYS.TRIG_LANGUE", ligne 9
ORA-04088: erreur lors d'exécution du déclencheur 'SYS.TRIG_LANGUE'
 
qu'est ce qui se passe lorsqu'on fait un select sur une table vide, est ce que la requête SELECT retourne null ou retourne un message d'erreur.

n°1542633
tibik
It's time to switch
Posté le 13-04-2007 à 14:12:37  profilanswer
 

est ce qu'on peut écrire:
 
SPY := nvl(select DML from ES_LANGUE,0)??

n°1542637
Beegee
Posté le 13-04-2007 à 14:16:39  profilanswer
 

S'il n'y a pas de ligne, alors le SELECT ... INTO renvoie l'erreur que tu vois.
 
Il faut faire qqch comme :
 
begin
  select DML
  into SPY
  from DELTACOMMUN.ES_LANGUE
  where code = :new.code;
exception
  when NO_DATA_FOUND then
    SPY := 0;
end;

n°1542695
tibik
It's time to switch
Posté le 13-04-2007 à 16:03:10  profilanswer
 

Merci beaucoup ça a marché


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

  Erreur : ISNULL is not Declared sur Orale 8i

 

Sujets relatifs
[Struts]Affichage de messages d'erreur avec html:errorsmessage erreur
[RESOLU] Erreur dans galerie en JavaScript.erreur de boucle with ? [résolu]
Erreur balise select avec onchange sous operaerreur context-param
Erreur d'accès ambigu à une fonction membre après dérivation multipleErreur php
Driver Série PDA ( erreur NMAKE NMAKE U1073) 
Plus de sujets relatifs à : Erreur : ISNULL is not Declared sur Orale 8i


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