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.
Vous pouvez utiliser une instruction d'insertion-sélection:
INSERT INTO test
SELECT @col1, @col2, col3
FROM #temp