41 votes

Comment SELECTIONNER * INTO [table tmp] sans déclarer la table ?

je veux utiliser l'instruction select sur une table et insérer le résultat dans une variable de table temporaire, mais je ne déclare pas la table temporaire avec des colonnes et je veux l'utiliser comme ceci :

 Declare #tmp table;

SELECT * INTO #tmp FROM myTable

cela veut déclarer des colonnes et des types de données pour #tmp

Aidez-moi, s'il vous plaît

51voto

Aaron Bertrand Points 116343

Vous pouvez le faire simplement sans la commande DECLARE - qui n'est de toute façon pas valide pour les tables #temp, uniquement les variables @table. Avez-vous simplement essayé ce qui suit sans essayer de définir d'abord #tmp :

 SELECT * INTO #tmp FROM myTable;

41voto

Mikael Eriksson Points 77190

Avec des données :

 select *
into #tmp
from myTable

Pas de données:

 select *
into #tmp
from myTable
where 0=1

BTW, vous ne pouvez pas le faire avec des variables de table.

 select *
into @tmp
from myTable

Les variables de table doivent être déclarées avec les colonnes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X