Crea un usuario llamado Pedro
Otorga al usuario Pedro permisos de conexión
Otorga a Pedro permisos para ejecutar una consulta a la tabla alumnos
Crea el usuario Miguel y otorgarle permisos de consulta, actualizacion e inserción a cualquier tabla
Selecciona las dos respuestas correctas
Quita los permisos a Pedro para consultar la tabla empleados
Conectate con el usuario y contraseña system como root
Elimina todos los permisos a Miguel y Pedro
Elimina el usuario de Pedro
Crea una función que según el número de entrada muestre que día de la semana es.
Crea una función que reciba tres números como entrada y te diga cual es el mayor.
Crea y ejecuta un procedimiento que reciba un número como parámetro y vaya sumando hasta llegar al número indicado
Pista: si el número de entrada es un 4, debe sumar 1+2+3+4 = 10
Crea y ejecuta una función que devuelva 0 o 1 indicando si el número recibido es primo
Crea y ejecuta una función llamada nómina que reciba como parámetro el numero del empleado y calcule cuanto cobra cada mes
Ten en cuenta las siguientes condiciones:
El salario que figura en la tabla «emp» es el sueldo bruto anual.
Nuestros trabajadores cobran 14 pagas iguales al año.
Cada mes les pagamos también la comisión correspondiente.
Crea una tabla con las siguientes características:
Crea un trigger con las siguientes características:
Que se llame «auditasueldo» y sirva para que cada vez que se cambie el salario de un empleado se inserte en la tabla «auditaemple» un registro con el mensaje «El salario del empleado codempleado antes era de sueldoantiguo y ahora será sueldonuevo» (donde codempleado es el código del empleado, sueldoantiguo es el sueldo antes del cambio y sueldonuevo es el sueldo después del cambio), la fecha actual y de id_cambio que será el valor más alto que hubiese en la tabla incrementado en 1.
Crea un trigger con las siguientes características:
El trigger tendrá por nombre «auditaemple» será una modificación del trigger anterior para añadir que si se da de alta un nuevo empleado se registre en la tabla «auditaemple» el mensaje «Nuevo empleado con código emp_no» (donde emp_noes el valor del campo emp_no para ese registro) con fecha de hoy.
Para mostrar los mensajes por pantalla debemos ejecutar un comando. ¿Esta bien escrito este comando?
Crea un objeto llamado direccion_m con atributos de calle, ciudad, provincia y cp
Crea un objeto llamado empleado_m con los atributos código, nombre, dirección, teléfono y fechaNac.
– La dirección debe ser del tipo direccion_m de la pregunta anterior
– Método edad que calcule la edad del cliente almacenado:
La edad es la diferencia entre el año de la fecha del sistema today() y el año de la fecha de nacimiento, incrementando en uno según haya sido o no su aniversario. Si fecha es una variable tipo DATE, fecha.año retorna el año de dicha fecha, fecha.mes retorna el mes, y fecha.dia retorna el día.
Escribe los correspondientes constructores si se quieren construir lo siguiente:
Teniendo en cuenta las anteriores preguntas crea los siguientes constructores:
Un objeto dirección_m con los valores calle Futurama n 69, Madrid, Madrid 28040 Un objeto de empleado_m con los valores 1234, Miguel Troyano, 666666666, 26/09/1986 y la dirección C/ Pozo n 10, Madrid, Madrid, 28040 declare
direccion1 ;
direccion2 direccion_m;
empleado1 ;
direccion1:= new direccion_m(‘futurama n 69′,’madrid’, ‘madrid’,28040);
:= new direccion_m(‘c/ pozo n 10,’, ‘madrid’,’, ‘madrid’,’, 28040);
empleado1:= empleado_m (1234,’miguel troyano’, direccion2, 666666666, to_date(’26/09/1986′,’dd/mm/yyyy’));
dbms_output.put_line(direccion1.calle||’ – ‘||direccion1.ciudad||’ – ‘||direccion1.provincia||’ – ‘||direccion1.cp);
dbms_output.put_line(direccion2.calle||’ – ‘||direccion2.ciudad||’ – ‘||direccion2.provincia||’ – ‘||direccion2.cp);
dbms_output.put_line(empleado1.codigo||’ – ‘||empleado1.nombre||’ – ‘||empleado1.telefono||’ – ‘||empleado1.fechanac);
end;
Crea una tabla llamada departamento que pueda contener varios empleados, de tal manera que los empleados sea una colección
Crea un tipo animal cuyos atributos sean:
Nombre, Número de patas, Sonido que hace, Sexo, Fecha nacimiento. Además, este tipo tendrá dos métodos: Función que devuelva la edad y procedimiento que lo describa, imprimiendo sobre la pantalla su nombre, número de patas, sexo y edad.
create or replace animales as ( nombre varchar2(25), npatas number, sonido varchar2(25), sexo varchar2(25), fechanac ,
member function edad number,
member procedure describir)not final;
/
create or replace type animales as
member function edad return number as edad number;
begin
select (months_between(sysdate,fechanac)/12) edad from dual;
return edad;
end edad;
member procedure describir is anios int;
begin
anios:=edad();
if (anios
then dbms_output.put(‘nombre: ‘|| nombre||’, nº patas: ‘||npatas||’, sexo: ‘|| sexo||’ edad:
else dbms_output.put(‘nombre: ‘|| nombre||’, nº patas: ‘||npatas||’, sexo: ‘|| sexo||’ edad: ‘||anios);
end if;
end describir;
end;
En base al anterior, crea un tipo para cada uno de los siguientes animales que hereden los atributos y métodos de tipo “animal”