UPDATE nombre_tabla
SET column1 = valor1, ..column = valorn
WHERE condicion;
Si se omite WHERE se actualizarán todas las
filas.
Modificación de registros
UPDATE centros
SET direccion = ‘C/ Pilón 13’,
num_plazas = 295
WHERE cod_centro = 22;
UPDATE emp
SET sal = sal + 100,
comm =NVL(comm, 0) + 10
WHERE empno = 7369;
Consultas de actualización
Podemos incluir una subconsulta en las
cláusulas SET o WHERE.
Formato1:
UPDATE nombre_tabla
SET colum1 = valor1, ..column = valorn
WHERE colum3 = (SELECT….);
Consultas de actualización
Formato2:
UPDATE nombre_tabla
SET colum1, ..column =
(SELECT col1,..coln…..)
WHERE condicion;
Consultas de actualización
Formato3:
UPDATE nombre_tabla
SET colum1= (SELECT col1…),
colmn = (SELECT coln….)
WHERE condicion;
Consultas de actualización
UPDATE centros
SET (direccion, num_plazas)=
(SELECT direccion, num_plazas
FROM centros
WHERE cod_centro = 50)
WHERE cod_centro = 10;
Consultas de actualización
UPDATE emp
SET sal = sal * 2, comm = 0
WHERE deptno = (SELECT deptno
FROM emp
GROUP BY deptno
HAVING COUNT (*) =
(SELECT MAX(COUNT(*))
FROM emp
GROUP BY deptno)
);
Consultas de actualización
UPDATE emp
SET ename = LOWER(ename),
sal = (SELECT sal * 2
FROM emp
WHERE ename = ‘JAMES’)
WHERE deptno = (SELECT deptno
FROM dept
WHERE dname = 'ACCOUNTING’);
Consultas de actualización
Modifica el nº de departamento de MILLER con el departamento donde haya
mas empleados cuyo oficio sea CLERK
UPDATE emp
SET deptno = (SELECT deptno FROM emp
WHERE job = 'CLERK'
GROUP BY deptno
HAVING COUNT(*) =
(SELECT MAX(COUNT(*)) FROM emp
WHERE JOB = 'CLERK'
GROUP BY deptno)
)
WHERE ename = 'MILLER'
Borrado de Registros
Permite borrar, una varias o todas las filas de
una tabla que cumplan una condición. El
espacio usado por las filas borradas no se
reutiliza, al menos que se realice un import o
export. la condición puede incluir una subconsulta.
SELECT deptno,
TO_CHAR(SUM(sal), '99G999D99') AS suma,
TO_CHAR(MAX(sal), '99G999D99') AS Máximo,
TO_CHAR(MIN(sal), '99G999D99') AS Mínimo
FROM emp
GROUP BY deptno;
Claúsulas Avanzadas de Selección:
GROUP BY y HAVING