218 votes

Insertion de données dans une table temporaire

Après avoir créé une table temporaire et déclaré les types de données comme suit ;

CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))

Comment puis-je ensuite insérer les données pertinentes qui se trouvent déjà dans une table physique de la base de données ?

270voto

alexsuslin Points 1077
INSERT INTO #TempTable (ID, Date, Name) 
SELECT id, date, name 
FROM physical_table

11 votes

N'oubliez pas de supprimer la table une fois que vous avez terminé, sinon vous risquez de rencontrer l'erreur "There is already an object named '#TempTable' in the database" (si vous exécutez à nouveau la requête...).

0 votes

La question initiale concernait la table, qui était déjà créée. Bien que le conseil soit utile, il n'est pas lié à la question de l'auteur.

3 votes

@alexsuslin c'est connecté, ne sois pas comme ça.

77voto

Abdul Saboor Points 775
SELECT  ID , Date , Name into #temp from [TableName]

43voto

maxim Points 18

Ma façon de Insert dans SQL Server. En outre, je vérifie habituellement si une table temporaire existe.

IF OBJECT_ID('tempdb..#MyTable') IS NOT NULL DROP Table #MyTable

SELECT b.Val as 'bVals'
  INTO #MyTable
FROM OtherTable as b

8voto

Ahsan Ahmad Points 81

La bonne requête :

drop table #tmp_table

select new_acc_no, count(new_acc_no) as count1
into #tmp_table
from table
where unit_id = '0007' 
group by unit_id, new_acc_no
having count(new_acc_no) > 1

10 votes

Cette réponse n'a rien à voir avec la question. Vous avez pris cette information ailleurs. Suppression de new_acc_no , unit_id = '0007' , group by , having count(new_acc_no) > 1 etc. transforme la réponse en une copie exacte de : stackoverflow.com/a/15762663/1476885

8voto

bluefeet Points 105508

Après avoir créé la table temporaire, il suffit de faire un INSERT INTO () SELECT FROM

INSERT INTO #TempTable (id, Date, Name)
SELECT t.id, t.Date, t.Name
FROM yourTable t

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