IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[debutant] procédure et variables


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut [debutant] procédure et variables
    Salut

    J'ai un petit souci, j'ai créé une procédure stockée pour savoir si un idcustomer est existant ou non :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE PROCEDURE searchCustomer
    	@idcustomer int
    AS 
    	IF (@idcustomer NOT IN (SELECT IDCUSTOMER FROM CUSTOMER))
    	BEGIN
    	RAISERROR('Cet idcustomer n''existe pas',16,1) 
    	RETURN FALSE
    	END
    GO
    elle fonctionne très bien. Le problème c'est que j'aimerai l'employer dans la clause IF d'une deuxième procédure dont voici le début :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE PROCEDURE BuyBonds
    	@quantity int, @idcustomer int, @valornumber int
    AS
    	-- vérification que le idcustomer existe
    	IF not (searchCustomer @idcutomer)
    Malheureusement l'analyseur de requête me retourne ce message d'erreurt : Ligne 5 : syntaxe incorrecte vers '@idcutomer'.


    Merci de vos réponses futures

  2. #2
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut
    Quel SQBD ???

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    Excuse moi, je ne sais pas si c'est une faute de frappe au moment du message mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE PROCEDURE BuyBonds 
       @quantity int, @idcustomer int, @valornumber int 
    AS 
       -- vérification que le idcustomer existe 
       IF not (searchCustomer @idcutomer)
    IF not (searchCustomer @idcuStomer) : la faute est juste dans le message ou tu as fais copier/coller ?

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Je te recommande d'utliser une fonction qui va te retourner une valeur boolean.
    C'est elle que tu utiliseras dans ta procedure stockée dans ton teste if.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Bonjour,


    Merci de vos réponses : effectivement dans le message que j'ai posté il y avait une erreur sur idcutomer qui provenait d'un ancien script mais qui a été corrigée depuis longtemps.

    De plus j'ai modifié ma procédure searchCustomer et elle me retourne 1 si le idclient n'existe pas ce qui fait que dans ma deuxième procédure, celle ou je veux utiliser la première j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	IF (searchCustomer @idcustomer) = 1
    à la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     IF not (searchCustomer @idcutomer)
    Mais j'ai toujours le même message d'erreur ...

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Crée une fonction plutot qu'une procedure stockée

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merci de ta réponse WOLO mais comme on doit finir pour demain on a avancé en faisant autrement ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/04/2005, 11h27
  2. Réponses: 6
    Dernier message: 16/03/2005, 14h44
  3. Réponses: 12
    Dernier message: 23/06/2004, 13h50
  4. [debutant] Procédure stockée
    Par Vincent BONNAL dans le forum SQL
    Réponses: 14
    Dernier message: 15/03/2004, 12h11
  5. Debutant recherche utilisation variable système
    Par agent-zaizai dans le forum C++Builder
    Réponses: 5
    Dernier message: 15/05/2003, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo