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éation d'une table permanente à partir de deux tables temporaires [2008]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    1 247
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 247
    Par défaut Création d'une table permanente à partir de deux tables temporaires
    Bonjour , je souhaite créer, une table SQL pérmanant à partir de la création de deux tables temporaires.
    ET ensuite alimenter cette table péermanent avec la fonction "insert into"
    Malgré mes tentatives multiples , je n'y parviens pas.
    J'arrive bien a créer une table SQL permanent mais seulement à partir de requête SQL simple
    Voici ci dessous ma requête SQL (pour des raison de confidentialité, j'ai remplacé les champs par des champs type)
    Merci d'avance de votre iade

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    DECLARE variable_1      BigInt  = 0x0000000000080000    
    DECLARE variable_2     Int = 1 
    DECLARE variable_3     Int = 2
     
    DECLARE variable_1 int =0
     
    DECLARE @StartDateTime DateTime= '20210705 05:00'
    DECLARE @EndDateTime DateTime= '20210706 05:00'
     
     
    IF OBJECT_ID('tempdb..#Tbl1') IS NOT NULL DROP TABLE #Tbl1 -- si la table "#Tbl1" existe alors on la supprime
    IF OBJECT_ID('tempdb..#Tbl2') IS NOT NULL DROP TABLE #Tbl2 -- si la table "##Tbl2" existe alors on la supprime
     
       --Création de la table  "#Tbl1"
    CREATE TABLE #Tbl1 (
       champ1 int,
       champ2 int,
       champ3 varchar(50),
       champ4 int,
       champ5 Date,
       champ6 Date,
       champ7 varchar (20),
       champ8 int,
       champ9 int
    )
    -----------------------------------------------------------------------------------------------------------------------------------------------------------
    --Création de la table  "#Tbl2"
    CREATE TABLE #Tbl2 (
       champ10 int,
       champ11 varchar(10),
       champ12 varchar(10),
       champ13 varchar(10),
      )
     ---- ------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    --inserer les données dans la table  "#Tbl2 "
    INSERT INTO #Tbl2 
    select
    champ10,
    champ11,
    champ12,
    champ13
    from 
    tableA 
    inner join  TableB
     
    ON TableA.Id = TableB.TypeId
     
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
     --inserer les données dans la table  "#Tbl1"
    INSERT INTO #Tbl1
     
    SELECT 
    champ1 ,
    champ2,
    champ3,
    champ4,
    champ5,
    champ6,
    champ7,
    champ8,
    champ9
     
     
    FROM TableC
     
    Where .......
     
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    --Creer la requete
     
    SELECT
    champ1 ,
    champ2,
    champ3,
    champ4,
    champ5,
    champ6,
    champ7,
    champ8,
    champ9,
    champ10,
    champ11,
    champ12,
    champ13
    ..............
     
    FROM #Tbl1 [Tbl1]
     
    Inner JOIn TableD
    on ....
     
     
    Inner Join TableE
    on ...
     
    INNER join TableF
    ON ...
     
    INNER join TableG
    on ...
     
    INNER JOIN TableH
    on ...
     
    left join  #Tbl2
    on .....
     
     
    GROUP BY
    ......
     
    ORDER BY
    ...

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 137
    Par défaut
    Bonjour,

    Je ne vois pas où se trouve l'alimentation d'une table permanente dans ton code
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 699
    Par défaut
    Regardes sur google les trucs suivants:
    - sqlserver create table
    - sql server insert from select

    ça devrait répondre a toutes tes questions

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    1 247
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 247
    Par défaut
    Bonjour Al
    Justement, c'est le problème. dans mes divers tentatives je ne sais pas ou insérer le create Table qui permet de ressembler mes deux table temporaires pour créer une table permanente.

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 137
    Par défaut
    Apparemment, SQL Server ne prend pas en charge la syntaxe normalisée CREATE TABLE ... AS SELECT ....

    Il te reste donc deux possibilités :
    • Soit utiliser la syntaxe normalisée et effectuer ton opération en deux étapes :
      1. CREATE TABLE matable (structure ... contraintes ... options);
      2. INSERT INTO matable (colonnes) SELECT ...;.
    • Soit utiliser la syntaxe spécifique à SQL Server :
      SELECT expressions INTO matable FROM ...;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    1 247
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 247
    Par défaut
    Je me suis peut etre mal exprimé Mais ce que je ne parviens pas a faire c'est de créer la table permanent issue de la requete qui elle mëme provient de la création de deux table temporaire CREATE TABLE#Tbl1 et CREATE TABLE#Tbl2.
    En résume est il possible de transformer le code SQL que j'ai joins en une table permanent et ensuite que je puisse alimenter cette table permanent
    Peut il que cela n 'est pas possible
    Actuellement,ce code SQL que j'ai joins me permet uniquement d'avoir des données pour une periode definie mais je ne peux malheureusement pas avoir un historique

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

Discussions similaires

  1. Création d'une table temporaire dans une procédure
    Par lucdal dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 09/07/2013, 16h18
  2. Création d'une table temporaire
    Par koumbdd dans le forum Access
    Réponses: 4
    Dernier message: 02/05/2013, 09h52
  3. Création d'une table temporaire - SAGE X3
    Par funflb dans le forum SAGE
    Réponses: 6
    Dernier message: 23/11/2011, 00h56
  4. Réponses: 8
    Dernier message: 06/06/2007, 18h03
  5. Création d'une table temporaire
    Par SOBZH dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/01/2007, 11h00

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