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 :

Créer une table temporaire de résultats [2012]


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Femme Profil pro
    Chargée de missions
    Inscrit en
    Janvier 2016
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargée de missions

    Informations forums :
    Inscription : Janvier 2016
    Messages : 73
    Points : 58
    Points
    58
    Par défaut Créer une table temporaire de résultats
    Bonjour à tous,

    Je fais mes premiers pas sous SQL-Server et je suis étonnée de ne plus savoir créer de tables de résultats temporaires....

    Dans mes souvenirs, quand je travaillais sous SAS, un simple "CREATE TABLE nom_table as" me permettait de créer la table temporaire...
    Sous SQL-Server, cela m'indique une erreur. J'ai essayé d'enlever le "AS", toujours une erreur.

    POuvez-vous éclairer ma lanterne ? Je vous remercie...

  2. #2
    Membre éclairé Avatar de Bernardos
    Homme Profil pro
    Consultant Senior dba sql server & Microsoft Business Intelligence
    Inscrit en
    Avril 2008
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Senior dba sql server & Microsoft Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 332
    Points : 723
    Points
    723
    Par défaut
    bonjour,
    une petite recherche google ou une autre t'aurais déjà aidé à trouver la structure seul.
    il te faut au moins une colonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE #TableTemporaire (col varchar(5))
    Après si c'est juste pour apprendre et savoir que ça existe ok mais après oublie ça tout de suite. il faut bannir les tables temporaires!
    Cordialement,
    Loïc
    Loïc BERNARD
    Consultant Senior dba sql server & Microsoft Business Intelligence



    Il n'y a jamais de problèmes, il n'y a que des solutions!

  3. #3
    Membre du Club
    Femme Profil pro
    Chargée de missions
    Inscrit en
    Janvier 2016
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargée de missions

    Informations forums :
    Inscription : Janvier 2016
    Messages : 73
    Points : 58
    Points
    58
    Par défaut
    Bonjour et merci de ta réponse.
    En effet, c'était purement par "curiosité"

  4. #4
    Expert éminent
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Points : 6 775
    Points
    6 775
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    Qu'elle soit temporaire (en # ou @) ou qu'elle soit permanente, un create table répond à une norme d'écriture.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TABLE schema.NOM_TABLE (
    COL1 type,
    COL2 type,
    COL3 type );

    Il y'a cependant d'autres méthodes sans passer par un create
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    --Usage unique, impossible de faire un INTO dans une table déjà existante.
    SELECT *
      INTO NOM_TABLE_A_CREER
     FROM schema.MA_TABLE;

    Après, si c'est pour un simple code à "usage unique" penser aux CTE.

    Cordialement,
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Mon Tutoriel pour apprendre les Agregations
    Consultez mon Blog SQL destiné aux débutants

    Pensez à FAQ SQL Server Ainsi qu'aux Cours et Tuto SQL Server

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Pix_elle Voir le message
    Dans mes souvenirs, quand je travaillais sous SAS, un simple "CREATE TABLE nom_table as" me permettait de créer la table temporaire...
    La norme SQL prévoit la création de tables temporaire clonée à partir d'autres tables par la commande :
    CREATE TEMPORARY TABLE AS SELECT ...

    Pour SQL Server qui a démarré en 1983, la syntaxe normative n'existait pas, et il a donc été proposé la synaxe suivante :
    SELECT ... INTO #MaNouvelleTable...

    # en premier cractère du nom de la table signifie temporaire locale.
    Pour une temporaire globale mettre ##

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2013
    Messages : 17
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Bernardos Voir le message
    mais après oublie ça tout de suite. il faut bannir les tables temporaires!
    Bonjour,

    Par quoi peut-on judicieusement les remplacer ?
    Des tables permanentes dans un schéma dédié ?
    Des vues indexées ?
    Des fonctions tables ?
    Autre ?

    Merci
    (j'ai quelques proc stoc de traitement de données que je me verrais bien remanier ^^)

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Les tables temporaires peuvent parfois être utiles. Cependant, les développeurs ont tendance à trop les utiliser et souvent à mauvais escient !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. [AC-2000] Créer une table temporaire
    Par Slici dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/05/2009, 17h13
  2. Réponses: 8
    Dernier message: 04/01/2008, 08h28
  3. Impossible de créer une table temporaire dans une fonction
    Par bossun dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/10/2007, 10h03
  4. [9i] Créer une table temporaire pour correspondance
    Par gege2061 dans le forum Administration
    Réponses: 1
    Dernier message: 16/01/2007, 13h11
  5. [ACCESS] créer une table temporaire
    Par geay dans le forum Access
    Réponses: 4
    Dernier message: 09/10/2006, 09h45

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