Ejercicios propuestos y resueltos PL SQL

Hola a todos, hoy os dejo una serie de ejercicios sobre la base de datos oracle.

Todos los ejercicios que proponemos están resueltos en este mismo post, intenta hacerlo por ti mismo y si te quedas atascado puedes mirar la solución. Recuerda, que no tiene por que estar igual tu solución con la del post, el objetivo es que aprendas no que me copies la solución.

Aquí te dejo la base de datos de jardinería que debes importar

Os dejo el modelo Entidad – Relación de la base de datos:

No todos utilizan la base de datos de Jardinería, tenedlo en cuenta.

1. Mostrar ‘Hola mundo’ por pantalla.

Spoiler Inside SelectShow

2. Declarar una variable numerica y mostrar si es mayor de 10 o no.

Spoiler Inside SelectShow

3. Declarar una variable numerica y pedir su valor y mostrarlo.

Spoiler Inside SelectShow

4. Mostrar los numeros del 1 al 100 con un while.

Spoiler Inside SelectShow

5. Mostrar los numeros del 1 al 100 con un for.

Spoiler Inside SelectShow

6. Mostrar los numeros del 1 al 100 con un loop.

Spoiler Inside SelectShow

7. Mostrar el nombre de un cliente dado su codigo.

Spoiler Inside SelectShow

8. Mostrar el precioVenta y la gama de un producto dado su codigo.

Spoiler Inside SelectShow

9. Mostrar toda la informacion de un pedido dado su codigo (fechaEsperada, fechaEntrega, fechapedido, estado, comentarios)

Spoiler Inside SelectShow

10. Realizar una función que me devuelva la suma de pagos que ha realizado. Pasa el codigo por parametro.

Spoiler Inside SelectShow

11. Realizar un método o procedimiento que muestre el total en euros de un pedido, pasale el codigo por parametro.

Spoiler Inside SelectShow

12. Mostrar el nombre de un cliente dado su codigo. Controla en caso de que no se encuentre, mostrando un mensaje por ejemplo.

Spoiler Inside SelectShow

13. Realizar una función que me devuelva la suma de pagos que ha realizado. Pasa el codigo por parametro. Controla en caso de que no se encuentre, en ese caso devuelve un -1.

Spoiler Inside SelectShow

14. Realizar un método o procedimiento que muestre el total en euros de un pedido, pasale el codigo por parametro. Controla en caso de que no se encuentre, en ese caso devuelve un 0. Pasale otro parametro, si supera ese limite, lanzaremos una excepcion propia y devolveremos un 0.

Spoiler Inside SelectShow

15. Crea una función a la que le pasaremos como parámetros de entrada: MATRICULA, NUEVO_PRECIO_COMPRA. la función modificara los datos del coche que tenga la matricula introducida actualizando el precio_compra de la siguiente forma:

-Si precio_compra es nulo hacer un update en el campo precio_compra asignándole el valor de nuevo_precio_compra

-Si no hacer un update en el campo precio_compra asignándole el valor de precio_compra+(precio_compra-nuevo_precio_compra).

La función devolverá el numero de filas actualizadas crea un bloque anónimo que ejecute la función anterior y muestre el resultado devuelto por la función.

Spoiler Inside SelectShow




16. Crea procedimiento que reciba como parámetros de entrada:P_ID_MARCA,P_NUMERO_COCHES. Utiliza un bucle para insertar N registros nuevos en la tabla COCHE. El numero de registros a insertar viene indicado por el parámetro P_NUMEROS_COCHES(CONTADOR) y el bucle empezará en 1, los datos a insertar serán:

-matricula=’A00’||CONTADOR
-DESCRIPCION=p_id_marca
-id_marca=p_id_marca
-precio_compra=nulo

Controlar excepción para cuando exista algún coche en la BBDD y se viole la pk.

Spoiler Inside SelectShow


17.Crea un procedimiento al que le pasaremos el dni_cliente y la matricula. El procedimiento deberá controlar en las ventas de los coches(tabla vende) los siguientes supuestos:
-.Si no existe un registro con ese dni_cliente y esa matricula saltara a la zona de excepciones y mostrara un mensaje “no existe la venta introducida”
– Si existe la venta introducida:
I. mostrara el precio antiguo ||
II. actualizara el precio subiendo 1000 euros
III. devolverá en un parámetro de salida del procedimiento(ps_nuevo_precio) el precio nuevo tras la actualización crea un bloque anónimo que llame al procedimiento anterior y muestre el precio nuevo devuelto por el procedimiento.

Spoiler Inside SelectShow

18. Crear un cursor para ver todos los clientes que no hayan hecho pagos. Hazlo con un loop.

Spoiler Inside SelectShow




19. Crear un cursor para ver todos los clientes que no hayan hecho pagos. Hazlo con un for.

Spoiler Inside SelectShow

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Etiquetas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *