簡體   English   中英

使用sql批量復制相關表

[英]use sql bulk copy for dependent table

我有兩個DataTabletblSoftwaretblDeviceSoftware設計如下:

tblSoftware > SoftwareID|SoftwareName|Version

tblDeviceSoftware > DeviceSoftwareID|DeviceID|SoftwareID|SoftwareName|Version

我有300-500條記錄,並且我想在這種情況下使用SQL BULK INSERT 如果存在相同的softwareName ,則不要將其插入。 我正在使用WCF服務插入。 我將通過DeviceName在sql中獲得DeviceID 除了逐行插入之外,什么是將其插入數據庫中的最佳方法。

使用.NET Framework中可用的SqlBulkCopy類,我已經取得了很多成功。

但是,使用SQL Bulk Insert或SqlBulkCopy,我不相信您可以選擇性地確定將哪些記錄添加到目標表中。 而是,添加了源中的所有內容(或嘗試根據鍵沖突等進行嘗試)。

您可以做的是在SQL Server中創建另一個目標表,將數據批量插入該表中,然后執行插入查詢以僅將必要的記錄插入目標表中。

否則,您需要執行測試,以便將源數據更改為僅包括需要添加到目標表的記錄。 我的直覺是,這種方法比作為插入語句一部分在SQL Server中執行此測試要慢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM