web-dev-qa-db-fra.com

Insérer dans le tableau à partir du tableau temporaire

J'ai le tableau suivant:

Exemple:

create table test
(
 col1 varchar(10),
 col2 varchar(20),
 col3 varchar(30)
);

Maintenant, je veux insérer deux valeurs par variables et la dernière par table #temp.

# Temp:

create table #temp
(
  col3 varchar(30)
);

# Temp: contient

col3
-----
A1
A2
A3

Insertion dans la table de test:

Declare @col1 varchar(10) = 'A'
Declare @col1 varchar(20) = 'B'
Declare @sql varchar(max)

SET @SQL = N'insert into test values('+@col1+','+@col2+',........); 
EXEC(@SQL)
/* How to insert `@col3` from #temp to test table*/

Résultat attend:

col1   col2   col3
------------------
A      B      A1
A      B      A2
A      B      A3

Remarque: Les valeurs des variables doivent se répéter jusqu'à ce que les valeurs #temp soient insérées dans le test de table.

13
MAK

Vous pouvez utiliser une instruction d'insertion-sélection:

INSERT INTO test
SELECT @col1, @col2, col3
FROM   #temp
21
Mureinik