ceu-notes/1/GBD/examen-plsql/enunciados.txt

44 lines
3.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

1.1 Crea una función calculoAreas a la que se le pasen dos parámetros: (2.25 puntos)
Nombre de la figura geométrica (VARCHAR): triángulo, cuadrado, círculo.
Parámetro con la siguiente estructura:
Para el triángulo, un VARCHAR con base y altura separado con una coma. Ej.: 7,3.
Para el cuadrado, el lado.
Para el círculo, el valor del radio.
Si se pasa como nombre de la figura algo diferente a triángulo, cuadrado, círculo, debes crear una excepción que se llame figuraNoValida y que muestre por pantalla el mensaje “Nombre de figura no válida, debes usar solo triángulo, cuadrado o círculo”.
NOTA: recuerda que para realizar operaciones matemáticas el tipo de dato debe ser numérico (función TO_NUMBER).
NOTA 2: el área de un triángulo es base por altura. El área de un cuadrado es lado por lado. El área de un círculo es PI por radio al cuadrado. El valor de PI es 3.1415.
1.2 Llama a la función calculoAreas con un triángulo de base 4 y altura 2. Después, haz lo mismo con un círculo de radio 3. (0.75 puntos)
2.1. Crea un procedimiento que se llame insertarDepartamento que pida como parámetros de entrada el nombre del departamento y la localidad. Debes incluir también un parámetro de salida llamado mensaje donde debes guardar el mensaje de éxito o fracaso al crear el departamento. (2.25 puntos)
El objetivo de este procedimiento es que compruebe si existe un departamento (DNAME) con ese mismo nombre, y si es así, que devuelva en mensaje “El departamento no se ha creado, ya existe”. En el caso de que no exista, insertar un registro en la tabla DEPT con los siguientes valores:
DEPTNO: el valor del último registro añadido (valor más alto de deptno) incrementado en 10.
DNAME: nombre del departamento pasado como primer parámetro al procedimiento.
LOC: localidad pasada como segundo parámetro al procedimiento.
NOTA: La localidad (LOC) se puede repetir sin problemas.
2.2. Crea un bloque de código anónimo que llame a dicho procedimiento con los siguientes valores: (0.75 puntos)
3.1. Se quiere crear una función que se llame obtenerTrabajadoresJob que reciba por parámetro el puesto (JOB) que se quiere consultar de la tabla EMP, y realice lo siguiente: (3 puntos)
Si existe el valor de JOB en la tabla EMP, mostrar por pantalla el EMPNO y ENAME de cada trabajador con dicho puesto en una línea diferente. Una vez terminado, la función debe devolver el número total de empleados con ese JOB.
Si no existe el valor de JOB en la tabla EMP, controlarlo mediante una excepción (NO_DATA FOUND, OTHERS, o una propia que creéis) que muestre por pantalla “No existe ese valor para puesto en la tabla EMP”. La función debe devolver cero en este caso.
3.2. Crear un bloque de código anónimo que llame a la función obtenerTrabajadoresJob con las siguientes llamadas: (1 punto)
JOB vale MANAGER.
JOB vale SYSTEM.
Debe mostrarse por pantalla el número total de trabajadores de ese puesto, valor que devuelve la función obtenerTrabajadoresJob.