iT邦幫忙

1

前端資料 ,批次寫到後端,如何檢查後再寫入

  • 分享至 

  • xImage

您好:
以c# 與 mssql為例:
我前端將資料收集,傳到後端,整理後,要寫到sql

這時有2種情況
1.沒有對應到key值,寫入
2.有對應到key值,異動

請問這一般會如何整批處理?
目前想到的是, 先寫到temp table ,再比對後做 insert 或 update

但想說是否有其他方式可以做
謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
4
一級屠豬士
iT邦大師 1 級 ‧ 2023-08-12 09:29:22
最佳解答
看更多先前的回應...收起先前的回應...

正解按/images/emoticon/emoticon12.gif

Google postgresql 有 insert on conflict 語法來實行 upsert 機制,請教 一級屠豬士 postgresql 如何處理 delete 的部份
/images/emoticon/emoticon41.gif

https://www.postgresql.org/docs/current/sql-merge.html

15版以後就有merge, 在這之前,就只好 upsert 與 delete 分兩道.

noway iT邦研究生 3 級 ‧ 2023-08-13 11:00:21 檢舉

您好:了解用MERGE,但一個問題, MERGE 是否用於trigger 來處理?
那是否我仍先整批INTER 到TEMP TABLE,再 merge trigger 處理?
謝謝

不必用 trigger, 就 建立一個 table ,然後這個table 與你原本的table 根據 你想要的條件, 組合一道merge
就好了,不必多什麼其他的.

0
herrowei135
iT邦新手 4 級 ‧ 2023-08-12 09:52:34

upsert

或者先查key有沒有存在db 不要用純sql處理

noway iT邦研究生 3 級 ‧ 2023-08-14 19:26:43 檢舉

謝謝

0
PPTaiwan
iT邦好手 1 級 ‧ 2023-08-12 21:22:52

請問這一般會如何整批處理?

以下都在 TSQL 處理

資料的部份

  1. 你可以直接傳入一堆文字以 逗號+分段 ( 1,2,3,4,5,6\n7,8,9,10,11\n) 來分解
  2. 用 json 傳入格式自己訂,sql 2016 可以用 json 來拆
  3. 迴圈去找出那些是要 insert , update 的用 DECLARE @Table Table 存起來,或是直接組出 INSERT , UPDATE 語法再用 exec sp_executesql 的方式來進行處理

不懂的話直接將你的資料丟給 GPT4 來幫你處理並詢問後續的處理方法

我要發表回答

立即登入回答