ORACLE BDD Probleme de

Résolu
prosciuto145 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   -  
prosciuto145 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   -
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.
BEGIN
	IF 	(
	SELECT ROUND(T1,2) as "T1" 
	FROM TABLE	(
			TSEN.get_val(
				'tsen1',
				TO_DATE('10-04-2008' ||' '|| '21'|| ':' || '03', 'DD-MM-YYYY HH24:MI'),
				TO_DATE('22-04-2008' ||' '|| '04'|| ':' || '07', 'DD-MM-YYYY HH24:MI')
					  )   
				)
		) IS NULL THEN

		RETURN FALSE;
	ELSE
		RETURN TRUE;
	END IF; 
END;

la simple requête select fonctionne et me retourne des lignes; mais lorsque j'ajoute le if ... is null 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
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  1. UaLShark Messages postés 193 Statut Membre 35
     
    c'est simple
    tu travailles avec select count
    declare
    v_count number;
    BEGIN

    SELECT count((T1) into v_count
    FROM TABLE (
    TSEN.get_val(
    'tsen1',
    TO_DATE('10-04-2008' ||' '|| '21'|| ':' || '03', 'DD-MM-YYYY HH24:MI'),
    TO_DATE('22-04-2008' ||' '|| '04'|| ':' || '07', 'DD-MM-YYYY HH24:MI')
    )
    );
    if (v_count = 0) then

    RETURN FALSE;
    ELSE
    RETURN TRUE;
    END IF;
    END;
    0
  2. prosciuto145 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   24
     
    merci à toi, ca fonctionne tres bien !
    0