从一个表查出插入到另一个表,有相同的就更新,没有则插入

新建一个存储过程
ALTER PROCEDURE [dbo].[SP_TEST]
AS
BEGIN

DECLARE @id varchar(128)
DECLARE @totalLast bigint
DECLARE @countNum bigint
DECLARE @tmpValue DECIMAL  
set @tmpValue = 0

DECLARE cur CURSOR

FOR(select ID,sum(LAST) as totalLast, count(ID) as countNum from test1 where CREATED_TIME > convert(varchar(10),getdate(),120) GROUP BY RESOURCE_ID)
OPEN cur
FETCH NEXT FROM cur INTO @id,@totalLast,@countNum
WHILE @@fetch_status=0
BEGIN
select @tmpValue = [VALUE] from [test2] where ID= @id and TERMS = ‘condition1’
if @tmpValue != 0
update [test2] set [VALUE] = @tmpValue+@totalLast,CREATED_TIME = CONVERT(varchar(100), GETDATE(), 120) where RESOURCE_ID = @id and TERMS = ‘condition1’
else
insert into [test2] values(@id,‘conditon1’,@totalLast,CONVERT(varchar(100), GETDATE(), 12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值