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

sqlbulkcopy, saya ingin menimpa baris saat ini di database

Di Mitch menunjukkan fungsi salinan massal (SqlBulkCopy , bcp dan BULK INSERT ) hanya menangani sisipan, bukan pembaruan.

Pendekatan normal untuk masalah Anda adalah melakukan pemuatan massal dalam dua (atau lebih) langkah - pertama Anda menggunakan penyisipan massal untuk memuat data Anda ke dalam tabel pementasan, dan kemudian menggunakan kueri untuk menyisipkan/memperbarui catatan di tabel utama berdasarkan data dalam tabel staging, misalnya:

INSERT INTO MyTable
(Column1, Column2, [etc...])
SELECT Column1, Column2, [etc...] 
FROM Test_Staging
WHERE [Some condition]

Lihat SQL SERVER – Memasukkan Data Dari Satu Tabel ke Tabel Lain untuk informasi tentang cara menyisipkan ke dalam satu tabel dari tabel lain - juga dimungkinkan untuk bergabung dalam UPDATE, tetapi saya kesulitan menemukan sumber yang bagus tentang ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JIKA ADA, MAKA PILIH LAIN MASUKKAN DAN PILIH

  2. Pemeriksaan Kesehatan SQL Server Proaktif, Bagian 1:Ruang Disk

  3. Cara tercepat untuk menghapus karakter non-numerik dari VARCHAR di SQL Server

  4. Properti dependen dalam ReferentialConstraint dipetakan ke kolom yang dihasilkan toko

  5. Bagaimana cara mengatur baris default untuk kueri yang tidak mengembalikan baris?