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)