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

MS SQL Server Discussion :

Pb if..else + table temporaire


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 6
    Par défaut Pb if..else + table temporaire
    Bonjour, voici mon script :

    declare @var int
    set @var = 1

    IF @var=1
    select top 10 *
    into #temp
    from matable (nolock)
    ELSE
    select top 11 *
    into #temp
    from matable (nolock)

    Mon message d'erreur :
    Msg*2714, Niveau*16, État*1, Ligne*24
    Il existe déjà un objet nommé '#temp' dans la base de données.

    J'ai besoin que la table temporaire garde le même nom car j'essaye de factoriser mon code.
    Une solution? Merciiiiiiiiiiiiiiiiiiiiiiii

  2. #2
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 75
    Par défaut
    Crée #temp et fait ensuite des INSERT dedans. Ca serait pas mal non?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 6
    Par défaut
    Oui effectivement, j'y ait pensé pendant la nuit
    Enfin il reste que l'erreur que je rencontre ne me parait pas très logique..

    Merci.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 29
    Par défaut
    L'erreur que tu rencontres est tout à faire normal.

    Une table avec un # est une table temporaire qui est lié à la connexion de l'utilisateur. A la première exécution, ta table n'existe pas, il l'a créé et tout est ok. A la deuxième exécution, tu as tjrs la meme connexion la table existe encore, il ne peut donc pas la recréer donc erreur. Si tu ouvres une nouvelle requete que tu fais copier / coller, ca fonctionne car tu es sur une nouvelle connexion.

    Je sais pas ce que tu veux faire au juste, mais voila le pourquoi du message d'erreur.

    NB : Le Select * INsert Into execute un Create Table puis un Insert.

Discussions similaires

  1. Table temporaire
    Par Tapioca dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/07/2004, 11h32
  2. Table temporaire et résultat requête
    Par Royd938 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/07/2004, 14h24
  3. Suppression table temporaire...
    Par Royd938 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/07/2004, 12h00
  4. [procédure stockée] table temporaire commençant par #???
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 23/04/2004, 12h23
  5. Nettoyage de table temporaire
    Par Alain Dionne dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/02/2004, 20h44

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