簡體   English   中英

在SQL Server中為存儲過程進行插入和更新

[英]Inserts and Updates in SQL Server for a stored procedure

我在SQL Server中有一個這樣的表:

varID(PK)    dataID(PK)  is_used
A            1           0
B            1           0

然后,如果varID/dataID組合存在,則加載數據以將varID/dataID更新為1,否則將其添加。

因此,我必須插入/更新這些varID/dataID組合。

varID(PK)    dataID(PK)  
B            1           
C            1

因此,更新后的表如下所示:

varID(PK)    dataID(PK)  is_used
A            1           0
B            1           1
C            1           1

最簡單的方法是什么? 我將在存儲過程中進行操作。

過程嘗試更新給定密鑰的is_used 如果不成功,則插入新行。 注意,我將0作為is_used的默認值-我認為is_used = 1對於(C,1)是無意的。

create proc AddVarDataCombo (@varID varchar(100), @dataID int)
as
   set nocount on

   update ATable
      set is_used = 1
    where varID = @varID
      and dataID = @dataID

   if @@rowcount = 0
   begin
      insert into ATable 
           values (@varID, @dataID, 0)
   end

暫無
暫無

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

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