繁体   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