P10-Creació de funcions

De wikiserver
Dreceres ràpides: navegació, cerca

En esta práctica, creará, compilará y utilizará las funciones almacenadas y un procedimiento.

1) Cree y llame a la función GET_JOB para devolver un cargo.

a) Cree y compile la función denominada GET_JOB para devolver un cargo.

b) Cree una variable de host VARCHAR2 denominada b_title, que permita una longitud de 35 caracteres. Llame a la función con identificador de trabajo SA_REP para que devuelva el valor de la variable del host y, a continuación, imprima la variable de host para ver el resultado.

sortida

2) Cree una función denominada GET_ANNUAL_COMP para devolver el salario anual de un empleado calculado a partir del salario mensual y la comisión transferidos como parámetros

a) Cree la función GET_ANNUAL_COMP, que acepta valores de parámetros del salario mensual y la comisión. Uno o ambos valores transferidos pueden ser NULL, pero la función deberá devolver un salario anual no NULL. Utilice la siguiente fórmula básica para calcular el salario anual: (salary*12) + (commission_pct*salary*12)

b) Utilice la función en una sentencia SELECT en la tabla EMPLOYEES para los empleados del departamento 30.

sortida

3) Cree un procedimiento, ADD_EMPLOYEE, para insertar un nuevo empleado en la tabla EMPLOYEES.

El procedimiento llamará a una función VALID_DEPTID para comprobar si el identificador ID) de departamento especificado para el nuevo empleado existe en la tabla DEPARTMENTS.

a) Cree una función denominada VALID_DEPTID para validar el identificador de departamento especificado y devolver un valor BOOLEAN TRUE si existe el departamento.

b) Cree el procedimiento ADD_EMPLOYEE para agregar un empleado a la tabla EMPLOYEES. La fila se debe agregar a la tabla EMPLOYEES si la función VALID_DEPTID devuelve TRUE; de lo contrario, alertará al usuario con un mensaje adecuado. Proporcione los siguientes parámetros:

- first_name

- last_name

- email

- job: utilice 'SA_REP' como valor por defecto.

- mgr: utilice 145 como valor por defecto.

- sal: utilice 1000 como valor por defecto.

- comm: utilice 0 como valor por defecto.

- deptid: utilice 30 como valor por defecto.

- Utilice la secuencia EMPLOYEES_SEQ para definir la columna employee_id.

- Defina la columna hire_date en TRUNC(SYSDATE).

c) Llame a ADD_EMPLOYEE para el nombre 'Jane Harris' del departamento 15, dejando otros parámetros con los valores por defecto. ¿Cuál es el resultado?

d) Agregue otro empleado llamado Joe Harris en el departamento 80, dejando los parámetros restantes con sus valores por defecto. ¿Cuál es el resultado?