簡體   English   中英

sql server有關更新表的理論

[英]sql server theory about updating a table

我有一個asp.net網絡應用程序,用戶可以在其中更新數據庫中的表。 我想知道這樣做的正確方法。 正如你可以在下面的圖片中看到,紅色的陰影區域是,我有一個共同點,即我並不需要更新數據。

在此處輸入圖片說明

這是我需要采取的步驟:

  1. 如果存在,則不更新數據
  2. 刪除不在用戶更新中的數據
  3. 從用戶更新中添加表中尚未存在的數據

我還需要審核該表,因此將有一個觸發器。 我想從理論上知道對表進行這種更新的最佳方法是什么?

感謝Aaron介紹了合並的概念。

表數據如下所示:

foreignkey  model  primarykey
1            AA       1
1            AA1      2
1            AA3      3
23           B        4
22           C        5

用戶將添加如下所示的數據:

foreignkey  model  primarykey
1            A1       1
1            AA1      2
1            AA3      3
22           C        5

如您所見,第一行已更新,第二行至最后一行被完全刪除。 您能幫我這個合並聲明嗎?

是的,有可能,這稱為合並。 請參閱有關SQL Server MERGE語句的文檔。

如果您不想在數據已經存在的情況下執行任何更新,則只需不添加WHEN MATCHED子句。 WHEN NOT MATCHED BY SOURCEWHEN NOT MATCHED BY TARGET以插入/刪除丟失/刪除的行。

暫無
暫無

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

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