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

Développement SQL Server Discussion :

appel d'une requete dans une fonction IF


Sujet :

Développement SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 32
    Points
    32
    Par défaut appel d'une requete dans une fonction IF
    bonjour, j'ai toujours un probleme de requete que je ne comprend pas, voici mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    declare @rq1 int;
     
     
    @rq1=SELECT DISTINCT 
                          T_HST_POSTE.NumSalarie, T_HST_POSTE.CodePoste, T_HST_POSTE.InfoEnCours, T_COMPREQUISE_POSTE.CodePoste AS codepostereq, 
                          T_COMPREQUISE_POSTE.Niveau, T_COMPREQUISE_POSTE.Ponderation, T_COMPREQUISE_POSTE.Code AS CodeReq, 
                          T_COMPACQUISE.Code AS CodeAcq
    FROM         T_HST_POSTE INNER JOIN
                          T_COMPREQUISE_POSTE ON T_HST_POSTE.CodePoste = T_COMPREQUISE_POSTE.CodePoste INNER JOIN
                          T_COMPACQUISE ON T_HST_POSTE.NumSalarie = T_COMPACQUISE.NumSalarie
    WHERE     (T_HST_POSTE.InfoEnCours = '1') AND (T_COMPREQUISE_POSTE.Code NOT IN (T_COMPACQUISE.Code))SELECT DISTINCT 
                          T_HST_POSTE.NumSalarie, T_HST_POSTE.CodePoste, T_HST_POSTE.InfoEnCours, T_COMPREQUISE_POSTE.CodePoste AS codepostereq, 
                          T_COMPREQUISE_POSTE.Niveau, T_COMPREQUISE_POSTE.Ponderation, T_COMPREQUISE_POSTE.Code AS CodeReq, 
                          T_COMPACQUISE.Code AS CodeAcq
    FROM         T_HST_POSTE INNER JOIN
                          T_COMPREQUISE_POSTE ON T_HST_POSTE.CodePoste = T_COMPREQUISE_POSTE.CodePoste INNER JOIN
                          T_COMPACQUISE ON T_HST_POSTE.NumSalarie = T_COMPACQUISE.NumSalarie
    WHERE     (T_HST_POSTE.InfoEnCours = '1') AND (T_COMPREQUISE_POSTE.Code NOT IN (T_COMPACQUISE.Code))
     
    if @Rq1 is true begin ...

    je travail sous sql server enterprise manager 2000 et mon probleme c'est que je n'arrive pas a faire appelle a ma requete , c'est surement ma syntaxe qui est fausse , ma requete en elle meme elle est bonne je l'ai tester mais des que je veux y faire apelle sa bloque,

    merci de me donner des informations se serait sympa, bonne apres midi

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Vous ne pouvez pas affecter une valeur à une variable si le SELECT qui la précède retourne un ensemble de données.

    Si j'ai bien compris, vous exécutez le code qui est après le IF si la requête SELECT renvoie un ensemble de données non vide.
    Pour cela, vous devez utiliser le prédicat EXISTS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    IF EXISTS
    (
    	votre requête SELECT * (utilisez * seulement avec le prédicat EXISTS, il est optimisé pour cela
    )
    BEGIN
    	...
    END
    ELSE
    BEGIN
    	...
    END
    @++

Discussions similaires

  1. [MySQL] requete dans une table avec une varible d'une autre table
    Par kogoi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/11/2011, 15h24
  2. Réponses: 2
    Dernier message: 24/10/2011, 17h15
  3. [MySQL] une requete dans une requete
    Par ots2 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/08/2011, 09h49
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Utilisation d'une requete dans une requete update
    Par hellbilly dans le forum Access
    Réponses: 4
    Dernier message: 09/01/2005, 15h09

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