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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ORACLE] probleme "if (select) is null then" SYNTAX

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ORACLE] probleme "if (select) is null then" SYNTAX

n°1726756
prosciuto
Posté le 30-04-2008 à 10:42:56  profilanswer
 

Bonjour tout le monde,
 
J'ai besoin de créer une requête ou procédure qui me renvoie "false" quand la sous requête (select) ne renvoie aucune ligne, et "true" si elle en renvoie.
 
Je vous fourni la requête que j'ai réussi à faire la plus proche de la vérité à mon goût.

Code :
  1. BEGIN
  2. IF
  3. (
  4.  SELECT ROUND(T1,2) as "T1"
  5.  FROM TABLE
  6.     (
  7.     TSEN.get_val(
  8.       'tsen1',
  9.       TO_DATE('10-04-2008' ||' '|| '21'|| ':' || '03', 'DD-MM-YYYY HH24:MI'),
  10.       TO_DATE('22-04-2008' ||' '|| '04'|| ':' || '07', 'DD-MM-YYYY HH24:MI')
  11.        ) 
  12.     )
  13. ) IS NULL THEN
  14.   RETURN FALSE;
  15. ELSE
  16.   RETURN TRUE;
  17. END IF;
  18. END;


 la simple requête select fonctionne et me retourne des lignes; mais lorsque j'ajoute le "if ... is nul" pour pouvoir avoir une fonction booléenne, ca ne fonctionne plus.
 
Quelqu'un aurait il une idée sur la manière de procéder ?
 
Merci d'avance  
 
Aurélien

mood
Publicité
Posté le 30-04-2008 à 10:42:56  profilanswer
 

n°1726757
casimimir
Posté le 30-04-2008 à 10:46:57  profilanswer
 

fais plutot un count(*) et le test de ton if > que 0.
 
et encore, personellement je mettrais le select a part, je ferai un into dans une variable et je testerai par la suite sur cette variable, une requete sql dans une condition ca rend vite le code illisible

n°1726765
prosciuto
Posté le 30-04-2008 à 10:55:19  profilanswer
 

IL y aurait moyen que tu me donnes juste la syntaxe ?
 
begin
if count then
end if
end ?
 
parce que la je vois pas du tout comment proceder

n°1726769
casimimir
Posté le 30-04-2008 à 11:04:49  profilanswer
 

Code :
  1. une_variable number;
  2.  
  3. SELECT count(*) INTO une_variable
  4. FROM TABLE
  5.    (
  6.    TSEN.get_val(
  7.      'tsen1',
  8.      TO_DATE('10-04-2008' ||' '|| '21'|| ':' || '03', 'DD-MM-YYYY HH24:MI'),
  9.      TO_DATE('22-04-2008' ||' '|| '04'|| ':' || '07', 'DD-MM-YYYY HH24:MI')
  10.       )
  11.    );
  12.  
  13. IF
  14. ( une_variable = 0) THEN
  15.  RETURN FALSE;
  16. ELSE
  17.  RETURN TRUE;
  18. END IF;


 

n°1726794
prosciuto
Posté le 30-04-2008 à 11:36:14  profilanswer
 

Ok, ca fonctionne super bien je te remercie de ton aide !
 
@+


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

  [ORACLE] probleme "if (select) is null then" SYNTAX

 

Sujets relatifs
Questions sur OracleProblème de if ?
Problème suppression treenode[MySQL] SELECT une entrée, celle d'avant et celle d'après en 1 fois ?
[HTA] Probleme de credential avec un proxy.Problème de session
flvPlayBack problème d'exportationProblème erreur if
problème de lecture/écriture sur entrée/sortie en Java[Remoting] probleme avec le remoting
Plus de sujets relatifs à : [ORACLE] probleme "if (select) is null then" SYNTAX


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