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 --查询更改后的平均数
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/14265.html