web-dev-qa-db-fra.com

Comment insérer le résultat de la requête SQL dans la table temporaire?

J'ai une requête SQL (SQL Server) et il génère des rapports, je veux stocker ce rapport exact dans une table temporaire pour pouvoir y jouer plus tard. Maintenant, la question est-ce que je dois d'abord créer une table temporaire puis y stocker le résultat de la requête SQL ou existe-t-il un moyen de créer de manière dynamique une table et de stocker le résultat de la requête? 

66
Satish

Regardez SELECT INTO . Cela créera une nouvelle table pour vous, ce qui peut être temporaire si vous voulez en préfixant le nom de la table avec un signe dièse (#).

Par exemple, vous pouvez faire:

SELECT * 
INTO #YourTempTable
FROM YourReportQuery
106
LittleBobbyTables

Vous pouvez utiliser select ... into ... pour créer et remplir une table temporaire, puis interroger la table temporaire pour renvoyer le résultat.

select *
into #TempTable
from YourTable

select *
from #TempTable
22
Mikael Eriksson

En MySQL: 

create table temp as select * from original_table
4
Hunter

Essayer:

exec('drop table #tab') -- you can add condition 'if table exists'
exec('select * into #tab from tab')
2
Parado

Supposons que votre requête de rapport existante soit 

Select EmployeeId,EmployeeName 
from Employee 
Where EmployeeId>101 order by EmployeeName

et vous devez enregistrer ces données dans la table de temparory alors vous interrogez va à 

Select EmployeeId,EmployeeName 
into #MyTempTable 
from Employee 
Where EmployeeId>101 order by EmployeeName  
0
Roshan Ghangare