Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana saya bisa MEMASUKKAN data ke dalam dua tabel secara bersamaan di SQL Server?

Coba ini:

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

PERBARUI: Re:

Denis - ini tampaknya sangat dekat dengan apa yang ingin saya lakukan, tetapi mungkin Anda dapat memperbaiki pernyataan SQL berikut untuk saya? Pada dasarnya [data] di [table1] dan [data] di [table2] mewakili dua kolom yang berbeda/berbeda dari [external_table]. Pernyataan yang Anda posting di atas hanya berfungsi bila Anda ingin kolom [data] sama.

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

Tidak mungkin menampilkan kolom eksternal dalam insert pernyataan, jadi saya pikir Anda bisa melakukan sesuatu seperti ini

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menginstal SQL Server di Mac dengan VirtualBox

  2. Bagaimana menggabungkan tanggal dari satu bidang dengan waktu dari bidang lain - MS SQL Server

  3. Bagaimana saya bisa menemukan karakter Unicode/non-ASCII di bidang NTEXT di tabel SQL Server 2005?

  4. Sistem Manajemen Database Paling Populer di Dunia

  5. Perbedaan Antara sys.objects, sys.system_objects, dan sys.all_objects di SQL Server