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 :

créer + dropper plusieurs fois une table TMP dans une procédure stockée


Sujet :

MS SQL Server

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

    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut créer + dropper plusieurs fois une table TMP dans une procédure stockée
    Je rencontre un problème avec le code ci-dessous :
    select 'toto' as MON_CHAMP
    into #TABLE_TEST

    drop table #TABLE_TEST

    select 'toto' as MON_CHAMP
    into #TABLE_TEST


    Le message retourné lors du 2ème "select into" est le suivant :
    Msg 2714, Level 16, State 1, Line 5
    There is already an object named '#TABLE_TEST' in the database.


    Quelqu'un pourrait me dire pourquoi SQL Server ne supprime pas la table temporaire #TABLE_TEST lorsque j'exécute mon DROP ?


    Merci d'avance pour votre aide :-)

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Cela faisait 2 jours que je cherchais et finalement juste après avoir posté mon message j'ai sur le site de Microsoft que ce code entrainait parfois des conflits sous SQL Server (pas tout le temps).

    Je l'ai ainsi contourné de la manière suivante :
    create table #TABLE_TEST(
    ID int identity(1, 1),
    valeur varchar(13))

    insert into #TABLE_TEST(valeur) values('val1')
    insert into #TABLE_TEST(valeur) values('val2')

    truncate table #TABLE_TEST

    insert into #TABLE_TEST(valeur) values('val1')
    insert into #TABLE_TEST(valeur) values('val2')

  3. #3
    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,

    Tu peux aussi mettre des GO entre les statements

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Merci pour ton complément.

    J'ai en fait essayé les GO, mais j'ai 2 problèmes :
    - Ca ne fonctionne toujours pas
    - C'est hors norme dans la boite pour laquelle je travaille


    D'ailleurs, à quoi sert le GO ? :-)

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/11/2009, 16h06
  2. Réponses: 1
    Dernier message: 11/06/2008, 13h33
  3. Réponses: 3
    Dernier message: 20/12/2006, 17h59
  4. Réponses: 6
    Dernier message: 16/06/2006, 13h22
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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