Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

sqlbulkcopy, tôi muốn ghi đè các hàng hiện tại trong cơ sở dữ liệu

Tại Mitch chỉ ra các chức năng sao chép hàng loạt ( SqlBulkCopy , bcp BULK INSERT ) chỉ xử lý các phần chèn chứ không phải các bản cập nhật.

Cách tiếp cận thông thường cho vấn đề của bạn là thực hiện tải hàng loạt trong hai (hoặc nhiều) bước - trước tiên bạn sử dụng chèn hàng loạt để tải dữ liệu của mình vào bảng dàn, sau đó sử dụng truy vấn để chèn / cập nhật bản ghi trong bảng chính dựa trên dữ liệu trong bảng dàn, ví dụ:

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

Xem SQL SERVER - Chèn dữ liệu từ bảng này sang bảng khác để biết thông tin về cách chèn vào một bảng từ một bảng khác - cũng có thể thực hiện tham gia CẬP NHẬT, nhưng tôi đang đấu tranh để tìm một tài nguyên tốt về điều này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào chúng ta có thể sử dụng ISNULL cho tất cả các tên cột trong SQL Server 2008?

  2. Cập nhật cột dựa trên một cột cập nhật khác

  3. Giao dịch cơ sở dữ liệu phân tán so với giao dịch cơ sở dữ liệu chéo

  4. Các ràng buộc có thể hoãn lại trong SQL Server

  5. Có thể chọn một LỆNH ĐẶT BẰNG cụ thể trong SQL Server 2008 không?