Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Insérer dans une variable de table avec union

INSERT INTO @table(a,b,c,d)
SELECT  a,b,c,d 
FROM   table1

UNION

SELECT a,b,c,d 
FROM table2

Vous n'avez pas besoin d'utiliser la clause Values ​​lors de l'insertion de données à l'aide de l'instruction SELECT. J'ai donc supprimé les VALUES bit de celui-ci et en faisant simplement une UNION de lignes renvoyées par les deux requêtes SELECT.

Le serveur SQL prend en charge la syntaxe de l'instruction INSERT telle que

INSERT INTO Table_Name(Col1, COl2. Col3...)
SELECT Col1, COl2. Col3...
FROM Other_Table_Name

Cela insérera le jeu de résultats renvoyé par l'instruction select dans la table cible. Dans votre cas, le résultat est une UNION de deux sélections, il n'est donc pas différent d'une seule sélection.