SQL Server : création de la Table temporaire avec dynamique de la colonne

J'ai un problème avec ma situation actuelle, j'ai cherché à travers toute solution sur le net mais je ne peux pas l'obtenir.

Ici la question:

J'ai un tas d'instructions SQL qui doivent être exécutés dans une procédure stockée à l'aide du curseur à l'intérieur, chacun des énoncés est d'effectuer une insertion en sélectionnant à partir d'une autre base de données ainsi que la table.

Par exemple:

INSERT INTO Database1.Table1(column1, column2, column3)
   SELECT column1,column2, column3
   FROM Database2.Table2
   WHERE --Some Condition

et peut-être une autre instruction SQL exécutée, c'est comme cela

INSERT INTO Database1.Table3(column1, column2, column3, column4)
   SELECT column1, column2, column3, column4
   FROM Database3.Table3
   WHERE --Some Condition

Bon, fondamentalement, mon processus est similaire à ce

Execute Sql to insert into temp Tables --> Insert into a permanent Table from Temp Tables

Par dessus deux instructions SQL, mon exécuté résultat de base de données2 ou 3 ou peut-être 4,5 et etc. Je passe à mon database1 pour le magasin permanent. En plus de résumé de la façon de raconter qui est, je veux juste fait une autre copie de données qui se de différentes source de base de données et de les stocker dans ma base de données locale pour faire plus de traitement.

Mon principal problème est de ma personne à charge (ou manager) m'a dit de trow le tout exécuté résultat dans une table temporaire ou #Table avant de les exécuter dans la permanents.

Quelque chose comme ceci:

INSERT INTO #Table3(column1, column2, column3, column4)
   SELECT column1, column2, column3, column4
   FROM Database3.Table3
   WHERE --Some Condition

Je suis passé par quelques recherches sur #Temp tables et je l'ai trouvé la plupart d'entre eux est de créer, avec le "RÉPARER" colonne comme

CREATE TABLE #Table
(
    column1 VARCHAR(10),
    column2 VARCHAR(10),
    column3 VARCHAR(10)
)

PROBLÈME: est-il de toute façon à créer avec les colonnes dynamiques? Plus de détail moyen de demander, est-il de toute façon à insérer par sélectionner dans une #Temp table sans préfixe de la colonne? Parce que c'est impossible pour moi de créer un tas de temp table pour chacun de SQL exécuté.

Merci

PS 1: je suis tout à fait un débutant de SQL Server, s'il vous plaît n'hésitez pas à voix de ma faute ou de l'erreur. Nous apprenons tous de nos erreurs.

PS 2: Désolé pour mon pauvre niveau d'anglais, j'ai essayé de mon mieux pour élaborer plus clairement.

Ce qui concerne:

LiangCk

Vous pouvez utiliser SELECT coloum1,coloum2,coloum3,coloum4 INTO #Table3 FROM Database3.Table3 pour créer un tableau basé sur les résultats de l' SELECT. C'est ce que tu veux dire?
Non, ce n'est pas nécessaire, car Il peut être face à quelques centaines de sql qui peuvent être chacun d'entre eux est d'avoir différents coloum. Si je fais ce que u fait, ce que j'en créer quelques centaines de Temp table?
Je ne suis pas sûr de ce que vous voulez accomplir; ce que je comprends, vous avez plusieurs tables avec des colonnes différentes, et vous avez besoin d'insérer ces données dans une table temporaire. Pouvez-vous ne pas simplement faire une sauvegarde et une restauration de l'ensemble de la base de données dans une base de données temporaire? Soit ça, ou vous aurez besoin pour gérer un tas de différentes tables temporaires.
Je pense que votre première déclaration "vous avez plusieurs tables avec des colonnes différentes, et vous avez besoin d'insérer ces données dans une table temporaire" est ce que je veux. Sur votre dernier relevé, c'est que signifie gérer un tas de différentes tables temporaires est la seule façon de le faire?

OriginalL'auteur Worgon | 2011-10-30