Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2004, 15h04   #1
Membre émérite
 
Avatar de Andry
 
Inscription : juillet 2002
Messages : 1 109
Détails du profil
Informations personnelles :
Localisation : Madagascar

Informations forums :
Inscription : juillet 2002
Messages : 1 109
Points : 949
Points : 949
Envoyer un message via MSN à Andry
Par défaut condition Where dynamique dans une procedure stockée

Salut à tous,

J'ai une procedure stocké come suit :
Code :
1
2
3
4
5
6
7
8
9
 
CREATE PROCEDURE GET_LIST (
                 MACHINE VARCHAR(20),
                 ETAT       CHAR(2) ,
                 CLIENT    VARCHAR(50),
                 MARQUE  VARCHAr(15))
          RETURNS(
                  ......
                   )
Je voudrais en faites que en fonction de la valeur des paramètres d'entrée (null ou pas), la condition where de mon select change .(du genre if (is null MACHINE) then WHERE ....)

Est ce possible avec Interbas 6.

Merci
__________________
On progresse .....
Andry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2004, 16h02   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Il me semble que oui ....

As-tu lu le tuto sur les procs stockées disponible sur developpez ?

La réponse s'y trouve, genre
Code :
IF MACHINE = "" THEN......
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2004, 17h15   #3
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Non ce n'est pas possible sous IB6, car celà reviendrait à faire du SQL dynamique.

Il faut donc utiliser des if then suivi de la requete complete.

Ce qui fait 15 requetes possibles avec 4 paramètres dont au moins un d'obligatoire. désolé pour la mauvaise nouvelle...
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2004, 07h39   #4
Membre émérite
 
Avatar de Andry
 
Inscription : juillet 2002
Messages : 1 109
Détails du profil
Informations personnelles :
Localisation : Madagascar

Informations forums :
Inscription : juillet 2002
Messages : 1 109
Points : 949
Points : 949
Envoyer un message via MSN à Andry
Merci pour l'info Barbibulle,
Je m'en doutais un peu mais c'est pas grave. Mais il parait que sous Firebird, ce serais peut être possible ... : : :
Sinon, comment peut-on tester qu'une paramètre d'une procedure stocké est null. J'ai procedé comme suit mais j'ai une errreur de compilation
Code :
1
2
 
 IF (IS NULL MACHINE) then
Merci pour l'iade
__________________
On progresse .....
Andry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2004, 09h50   #5
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Code :
IF (MACHINE IS NULL) then ...
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2004, 10h31   #6
Membre émérite
 
Avatar de Andry
 
Inscription : juillet 2002
Messages : 1 109
Détails du profil
Informations personnelles :
Localisation : Madagascar

Informations forums :
Inscription : juillet 2002
Messages : 1 109
Points : 949
Points : 949
Envoyer un message via MSN à Andry
Merci Barbibulle,
Tu me sauve tjs la vie.
J'espère que je t'en revaudras ça un jour.

A+
__________________
On progresse .....
Andry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2004, 13h10   #7
Membre émérite
 
Avatar de Andry
 
Inscription : juillet 2002
Messages : 1 109
Détails du profil
Informations personnelles :
Localisation : Madagascar

Informations forums :
Inscription : juillet 2002
Messages : 1 109
Points : 949
Points : 949
Envoyer un message via MSN à Andry
Bon, j'ai quand même une souci :
Au départ il etais convenu que au moin l'un des paramètre est not null.
Mais plus tard, ce n'est plus vrai, que les 4 paramètre peut être tous nulli.
Le hic c'est que la dernière ligne recupéré est en double.
Je ne sais pas d'ou viens ce doublon.
SI vous voulez, je mettrais le code qui est assez long ici.

Merci
__________________
On progresse .....
Andry est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h39.


 
 
 
 
Partenaires

Hébergement Web