sql >> Database teknologi >  >> RDS >> Sqlserver

Indsæt i tabelvariabel med union

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

UNION

SELECT a,b,c,d 
FROM table2
 

Du behøver ikke bruge værdisætningen, når du indsætter data ved hjælp af SELECT-sætning. Derfor har jeg fjernet VALUES bit fra det og bare lave en UNION af rækker, der returneres fra begge SELECT-forespørgsler.

SQL-serveren understøtter syntaksen for INSERT-sætning som

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

Dette vil indsætte det resultatsæt, der returneres af select-sætningen, i måltabellen. I dit tilfælde er resultatet en UNION af to valg, derfor er det ikke anderledes end et enkelt valg.



  1. indlæs data lokal infil FEJL 2 fil blev ikke fundet

  2. Hvordan kan jeg sortere ikke-engelske strenge i MySQL?

  3. Hvordan sikrer jeg integritet mellem ikke-relaterede tabeller?

  4. Jeg vil gendanne databasen med et andet skema