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 --查询更改后的平均数
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sqlbc/61572.html