DP 12 2 Practice Esp
DP 12 2 Practice Esp
DP 12 2 Practice Esp
com
Objetivos
Crear y ejecutar una sentencia UPDATE
Crear y ejecutar una sentencia DELETE
Crear y ejecutar una consulta que utilice una subconsulta para actualizar y suprimir
datos de una tabla
Crear y ejecutar una consulta que utilice una subconsulta correlacionada para
actualizar y suprimir datos de una tabla
Explicar cómo las restricción de integridad de clave ajena y clave primaria afectan a
las sentencias UPDATE y DELETE
Explicar el objetivo de la cláusula FOR UPDATE en una sentencia SELECT
Terminología
Identifique el término para cada una de las siguientes definiciones.
Correlated Subquery Update Recupera información de una tabla y utiliza esta información para
actualizar otra tabla
Integrity Constraints Se asegura de que los datos cumplen un juego de reglas
predefinido
Inténtelo/Resuélvalo
1. Monique Tuttle, la jefa de Global Fast Foods, ha enviado una circular solicitando un
cambio inmediato de los precios. El precio de un batido de fresa subirá de 3,59 a 3,75 $,
y el precio de las patatas fritas subirá a 1,20 $. Realice los siguientes cambios en la tabla
copy_f_food_items.
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
UPDATE copy_f_food_items SET price = 3.75
WHERE LOWER = 'strawberry shake';
UPDATE copy_f_food_items SET price = 1.20
WHERE LOWER= 'fries';
2. Bob Miller y Sue Doe han sido empleados destacados de Global Fast Foods. La dirección
ha decidido recompensarlos aumentando su paga por horas extra. Bob Miller recibirá 0,75
$ adicionales por hora y Sue Doe recibirá 0,85 $ adicionales por hora. Actualice la tabla
copy_f_staffs con estos nuevos valores. (Nota: Bob Miller actualmente no recibe paga por
horas extra. ¿Qué función debe utilizar para convertir un valor nulo en 0?)
R: UPDATE copy_f_staffs SET overtime_rate = NVL(overtime_rate, 0) + 0.75
WHERE LOWER(first_name || ' ' || last_name) = 'bob miller';
UPDATE copy_f_staffs SET overtime_rate = NVL(overtime_rate, 0) + 0.85
WHERE LOWER(first_name || ' ' || last_name) = 'sue doe';
5. Sue Doe ha sido un miembro destacado del personal de Global Fast Foods y se le ha
concedido un aumento salarial. Ahora recibirá la misma paga que Bob Miller. Actualice su
registro en copy_f_staffs.
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
2
6. Global Fast Foods está ampliando su personal. La jefa, Monique Tuttle, ha contratado a
Kai Kim. No está disponible toda la información en este momento, pero agregue la
información que se muestra aquí.
7. Ahora que está disponible toda la información de Kai Kim, actualice su registro en Global
Fast Foods para incluir lo siguiente: Kai tendrá el mismo jefe que Sue Doe. No podrá
trabajar horas extra. Deje los valores de formación, presupuesto del jefe y objetivo del jefe
como null.
9. Kim Kai ha decidido volver a la universidad y no tiene tiempo para trabajar y asistir a
las clases. Suprímalo de la plantilla de Global Fast Foods. Verifique que el cambio ha
sido correcto.
DELETE *
FROM copy_f_staffs
WHERE LOWER(first_name ||’ ‘|| last_name) = ‘kai kim’;
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
10. Cree una copia de la tabla de empleados y denomínela lesson7_emp;
Una vez creada esta tabla, escriba una sentencia delete correlacionada que suprima
cualquier empleado de la tabla lesson7_employees que también exista en la
tabla job_history.