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

Indsæt alle værdier af en tabel i en anden tabel i SQL

Indsæt-sætningen har faktisk en syntaks til at gøre netop det. Det er dog meget nemmere, hvis du angiver kolonnenavnene i stedet for at vælge "*":

INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...

Jeg må hellere præcisere dette, for af en eller anden grund får dette indlæg et par ned-stemmer.

Syntaksen INSERT INTO ... SELECT FROM er til, når tabellen du indsætter i ("ny_tabel" i mit eksempel ovenfor) allerede eksisterer. Som andre har sagt, er SELECT ... INTO-syntaksen til, når du vil oprette den nye tabel som en del af kommandoen.

Du har ikke angivet, om den nye tabel skal oprettes som en del af kommandoen, så INSERT INTO ... SELECT FROM burde være i orden, hvis din destinationstabel allerede eksisterer.



  1. Får NoSuchMethodError:javax.persistence.Table.indexes() under udførelse af JPA-forespørgsel

  2. Hjælp til MySQL-opdateringssag

  3. PostgreSQL 11 - Procedurer

  4. Hvordan kan jeg fremskynde rækkenummer i Oracle?