游标修改数据

declare updateEMTinCa_rcursor cursor scroll --声明一个游标
for 
SELECT EMTinCar.ID AS EMTinCar_ID,
CASE  WHEN b.YieldTransitStateType_ID IS null THEN 3 ELSE b.YieldTransitStateType_ID
END as VehicleStateType_ID from EMTinCar 
left JOIN ( 
SELECT YieldTransit.EMTinCar_ID ,YieldTransit.YieldTransitStateType_ID,
CASE  WHEN YieldTransit.YieldTransitStateType_ID=20 THEN 1 ELSE 2
END as VehicleStateType_ID  from YieldTransit 
inner JOIN (
SELECT max(ID) AS ID,EMTinCar_ID from YieldTransit group BY EMTinCar_ID
) a ON a.ID=YieldTransit.ID) b ON EMTinCar_ID=EMTinCar.ID

OPEN updateEMTinCa_rcursor   --打开游标
--声明要提取数据的变量
declare @YieldTransitStateType_ID int ,@VehicleStateType_ID int,@EMTinCar_ID int
--定位游标到哪一行
fetch First from updateEMTinCa_rcursor into @EMTinCar_ID,@VehicleStateType_ID --into的变量数量必须与游标查询结果集的列数相同
WHILE @@fetch_status=0  --提取成功,进行下一条数据的提取操作 
begin 
Update EMTinCar Set VehicleStateType_ID=@VehicleStateType_ID Where ID= @EMTinCar_ID --修改当前行

fetch next from updateEMTinCa_rcursor into @EMTinCar_ID,@VehicleStateType_ID    --移动游标
end
CLOSE updateEMTinCa_rcursor
DEALLOCATE updateEMTinCa_rcursor




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值