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

Hvordan kan jeg INDSÆTTE data i to tabeller samtidigt i SQL Server?

Prøv dette:

insert into [table] ([data])
output inserted.id, inserted.data into table2
select [data] from [external_table]

OPDATERING: Re:

Denis - det virker meget tæt på det, jeg vil gøre, men du kunne måske rette følgende SQL-sætning for mig? Grundlæggende repræsenterer [data] i [tabel1] og [data] i [tabel2] to forskellige/adskilte kolonner fra [ekstern_tabel]. Den erklæring, du har sendt ovenfor, virker kun, når du ønsker, at kolonnerne [data] skal være de samme.

INSERT INTO [table1] ([data]) 
OUTPUT [inserted].[id], [external_table].[col2] 
INTO [table2] SELECT [col1] 
FROM [external_table] 

Det er umuligt at udskrive eksterne kolonner i en insert udtalelse, så jeg tror, ​​du kunne gøre sådan noget her

merge into [table1] as t
using [external_table] as s
on 1=0 --modify this predicate as necessary
when not matched then insert (data)
values (s.[col1])
output inserted.id, s.[col2] into [table2]
;


  1. MySQL dynamisk pivot

  2. Tilføj IIS 7 AppPool-identiteter som SQL Server-logoner

  3. SQL server ignorer store og små bogstaver i et where-udtryk

  4. Hvad er forskellen mellem MS Access og SQL?