gpt4 book ai didi

sql - oracle中的while循环

转载 作者:行者123 更新时间:2023-12-02 08:38:21 24 4
gpt4 key购买 nike

您好,我在 Oracle SQL 中编写了一个 while 循环。我认为语法很好,但由于某种原因无法执行。有人可以帮我检查问题出在哪里吗?非常感谢!

它只使用一个表“test_fruit”,列为“price”。

BEGIN
WHILE (select sum(price) from test_fruit) <50 LOOP
update test_fruit set price = price + 5;
EXIT WHEN (select max(price) from test_fruit) >20;
END LOOP;
END;

顺便说一句,我想做的是更新表格,并增加每一行的价格,直到总和为 50。而且每行的最高价格不能超过 20。谢谢!

最佳答案

有几种方法可以做到这一点,但你可以尝试这样的事情:

DECLARE
l_sumprice INTEGER := 0;
l_maxprice INTEGER := 0;
BEGIN
WHILE l_sumprice < 50 AND l_maxprice < 20 LOOP
UPDATE test_fruit SET price = price + 5;
SELECT sum(price), max(price) INTO l_sumprice, l_maxprice FROM test_fruit;
END LOOP;
END;

Try the fiddle

关于sql - oracle中的while循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19009304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com