Databases
T02-005- Modificación de registros a partir de una consulta.
Enunciado
Evidentemente, las actualizaciones pueden ser de mayor complejidad.
Ejercicio
Alexander Hunold se va a jubilar, por lo que se nombrará, como jefe de su departamento, al subordinado directo de éste que mayor antigüedad tenga en la empresa.
Tipo
DML
Solución
UPDATE HR.departments
SET MANAGER_ID = (
SELECT EMPLOYEE_ID
FROM HR.employees
WHERE MANAGER_ID = (
SELECT EMPLOYEE_ID
FROM HR.employees
WHERE FIRST_NAME = 'Alexander' AND LAST_NAME = 'Hunold'
) AND HIRE_DATE <= ALL (
SELECT HIRE_DATE
FROM HR.employees
WHERE MANAGER_ID = (
SELECT EMPLOYEE_ID
FROM HR.employees
WHERE FIRST_NAME = 'Alexander' AND LAST_NAME = 'Hunold'
)
)
) WHERE MANAGER_ID = (
SELECT EMPLOYEE_ID
FROM HR.employees
WHERE FIRST_NAME = 'Alexander' AND LAST_NAME = 'Hunold'
);
Prueba
SELECT * FROM HR.departments WHERE MANAGER_ID IS NOT NULL ORDER BY DEPARTMENT_ID
LibrerÃas (Onfly databases)

