ME GUSTARÍA QUE ME SOLUCIONARAN ESTE EJERCICIO, ME URGE.. GRACIAS...
Esta tarea consiste:
Nos piden realizar un bloque anónimo para obtener el numero ganador de una lotería:
partiremos de una tabla llamada CESTA, que tendrá dos campos number (POSICION y GANADOR).
Esta tabla la rellenaremos con un número secuencial 1,2,3... (del 1 al 1.000) y en número aleatorio la rellenaremos con un numero aleatorio,
creación de la tabla:
create table CESTA (create table CESTA ( posicion number, ganador number);
el numero aleatorio lo obtendremos con una función de Oracle (DBMS_RANDOM). Esta función la debemos configurar para que devuelva un valor aleatorio en el rango de 0 a 10.000
TRUNC(DBMS_RANDOM.VALUE(1,1000));
Es decir, la primera parte del ejercicio es hacer un bucle FOR de 1 a 1000 para rellenar esta tabla con los 1000 valores. en el campo posición, ira un secuencial 1, 2, 3.... y en la posición ganador, ira el resultado de la función RANDOM. Ejemplo de la tabla
POSICION
GANADOR
1
82
2
152
3
9800
4
458
…
1000
622
El Bloque anónimo, solicitará al usuario un valor (debemos chequear que este valor este comprendido entre 1 y 1.000). Si el valor no está en este rango, debemos mostrar un mensaje: “error, el valor introducido no es correcto”.
Si el valor está en el rango correcto, buscaremos ese valor en la tabla Lotería por el campo Numero_secuencial, y mostraremos como numero ganador que es el valor almacenado en Numero_aleatorio. Indicaremos el mensaje. “EL GANADOR ES ….”.
Mostramos un Ejemplo de la tabla.
Si insertamos el valor 3 como variable de sustitución, tenemos que mostrar un mensaje diciendo EL GANADOR ES EL NUMERO 980.
POSICION GANADOR
1
82
2
152
3
9800
4
458
…
10000
622
Se pide escribir un bloque PL/SQL que de solución al problema planteado.
Probar el funcionamiento del bloque anónimo, insertando un valor en la variable de sustitución con el rango correcto y con el rango incorrecto.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)