SQL SERVER while 循环


create TABLE STABLE(ID INT ,SNAME VARCHAR(30), SSCORE INT); --建表
--插数
INSERT INTO STABLE VALUES  (1,'123' ,23);
INSERT INTO STABLE VALUES  (2,'345' ,25);
INSERT INTO STABLE VALUES  (3,'345' ,26);


SELECT * FROM STABLE  --查询
 UPDATE STABLE  SET SSCORE = 27 where id = 3  --修改测试

 --循环体
WHILE (SELECT AVG(SSCORE) FROM STABLE) < 300   --条件1 ,平均分没达到300分,进入循环的条件,也可能是结束循环条件
BEGIN  
   UPDATE STABLE  
      SET SSCORE = SSCORE * 2   --操作,平均分没超过三百分,所有分数乘以 2
   SELECT MAX(SSCORE) FROM STABLE  --中间查询语句,可以清楚看到执行后的变化效果
   IF (SELECT MAX(SSCORE) FROM STABLE) > 600   --条件2,最大分不能大于600分,退出循环的条件
      BREAK   --满足条件2 退出 循环
   ELSE  
      CONTINUE   --条件1 还未满足,就一直循环
END  
PRINT '更改完成'; 
--循环体
SELECT AVG(SSCORE) FROM STABLE  --查询更改后的平均数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值