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 :

[procédure stockée] table temporaire commençant par #???


Sujet :

MS SQL Server

  1. #1
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut [procédure stockée] table temporaire commençant par #???
    Salut,

    Je ne suis pas du tout doué pour les procédures stockées et je prendrai un maximum d'info là-dessus si vous avez.
    Mon problème : j'ai une procédure stockée qui fait appel dans quasiment toutes ses requêtes à des tables nommées #tmpLET par exemple. Je ne vois aucune déclaration!
    Que cela-signifie-t-il? Où puis-je trouver la déclaration de ces tables? Comment cela fonctionne-t-il?

    Merci d'avance.

    FC.

  2. #2
    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
    Ces tables sont créées temporairement dans la base de données tempdb
    qui s'installe avec ms sql serveur.

  3. #3
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Merci pour ta réponse .
    Mais elle entraine une seconde question : comment savoir ce qu'il y a dans ces tables? Ou plutôt comment sont-elles déclarées? Où le sont- elles?

    Merci d'avance encore une fois?

  4. #4
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Slt,

    Soit elles sont creees par un CREATE TABLE #TMP ... avec la definition des champs, soit elles sont crees a la volee par SQL Server avec un

    insert into #tmp
    select ...


    et dans ce cas elles ont comme structure celle des champs renvoyes par le select.

    ces tables ne sont visibles que par la session qui les as creees.

    a+

  5. #5
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Bien jouééééé
    C'est exactement ça --> insert into #tmpADR
    Maintenant que tu m'as donné la réponse ça me paraît logique comme syntaxe

    Merci.

  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
    Pour ce qui est de leur contenu,
    Vous faites un select comme d'habitude

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Use tempdb
    go
    SELECT * FROM #TempTable
    go
    EN ce qui concerne leur définition,
    vous pouvez bien l'avoir dans query analyser sauf que vous ne pouvez pas visualiser ces données dans une autre fenêtre que celle qui l'a crées.

    Voici un exemple tirer du site de sqlpro.developpez.com

    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
    21
    22
    23
    24
    25
    26
    27
    /* recherche de tous les nombres premiers de 1 à 5000 */ 
    /* version ensembliste (requêtes)                     */ 
     DECLARE @max int 
     SET @max = 5000 
     -- cet exemple utilise la logique ensembliste pour calculer tous les nombres entiers 
     SET NOCOUNT ON 
     -- table temporaire de stockage des entiers de 1 à 5000 
     CREATE TABLE #n (n int) 
     -- boucle d'insertion de 0 à 5000 
     DECLARE @i int 
     SET @i = 0  
     WHILE @i < @max 
     BEGIN 
        INSERT INTO #n VALUES (@i) 
        SET @i = @i + 1 
     END 
     -- on prend tous les entiers de la table #n moins les entiers de la table #n pour 
     -- lesquels le reste de la division entière (modulo) par un entier moindre donne 0 
     -- NOTA l'opération MODULO se note % dans Transact SQL 
     SELECT distinct n 
     FROM #n 
     WHERE n not in (SELECT distinct n1.n 
                     FROM   #n n1 
                            CROSS JOIN #n n2 
                     WHERE n1.n % n2.n = 0 
                       AND n2.n BETWEEN 2 AND n1.n - 1) 
     ORDER BY n

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

Discussions similaires

  1. Procédure stockée + table temporaire
    Par gardou dans le forum Développement
    Réponses: 5
    Dernier message: 22/01/2014, 10h10
  2. Réponses: 7
    Dernier message: 18/03/2013, 20h39
  3. Table temporaire unique par utilisateurs
    Par Zabriskir dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/01/2008, 18h55
  4. Suppression de table par une procédure stockée.
    Par Domi63 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/02/2007, 10h27
  5. Réponses: 2
    Dernier message: 12/05/2006, 08h27

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