¿Cómo usar un bucle WHILE hasta que todos los valores en una columna sean cero en PL/SQL?
Por ejemplo, supongamos que tenemos una tabla de niños y una tabla de dulces.
create table kids( kid_name varchar2(20), money number);
create table candy( candy_name varchar(20), price number);
Y quiero crear un procedimiento (ventas) que haga una venta para un nombre de niño aleatorio que compre un dulce aleatorio. En cada venta, el dinero de los niños disminuye hasta que el dinero de todos los niños sea igual a 0.
¿Cómo puedo expresarlo con un bucle while?
davy.ai
Para crear un procedimiento que realice una venta para un kid_name aleatorio que compra un candy_name aleatorio mientras reduce el dinero de los niños hasta que no tengan dinero, puede usar un bucle while en PL / SQL. Esto es lo que puede hacer:
En este procedimiento, primero obtenemos el número de niños y caramelos en sus respectivas tablas. Luego, usamos un bucle for para recorrer a todos los niños hasta que se les acabe todo el dinero. Dentro del bucle, seleccionamos el nombre de un niño y el nombre y precio de un caramelo al azar. Si el niño tiene suficiente dinero para comprar el caramelo, realizamos la venta restando el precio del caramelo del dinero del niño. También mostramos un mensaje indicando que se realizó la venta.
Luego, verificamos si todos los niños se quedaron sin dinero y salimos del bucle si esto es cierto. Finalmente, mostramos un mensaje indicando que se han realizado todas las ventas.