Actualizar registros con UPDATE en Oracle

En este articulo vamos aprender actualizar registros con UPDATE en Oracle de una tabla. Usaremos la cláusula UPDATE para actualizarlos, que junto al where actualizaremos solo aquellos registros que cumplan la condición.

Sintaxis

Para actualizar registros en Oracle utilizamos la siguiente sintaxis:

UPDATE nombreTabla
SET columna1 = valor1,
    columna2 = valor2,
     ...
WHERE condicion;

En la sintaxis anterior:

  • Primero le indicamos el nombre de la tabla que queremos actualizar después de escribir la palabra UPDATE.
  • En segundo lugar después de la palabra SET escribimos el nombre del campo que queremos actualizar seguido del valor. Si queremos actualizar más de un campo lo separamos con una coma.
  • En tercer lugar le indicamos despues de la palabra WHERE cuando debe actualizar esos registros escribiendo una condición.

Ten en cuenta que la cláusula WHERE es opcional y si no lo especificas actualizara toda la tabla.

Al realizar una actualización nos devolverá un mensaje informando de cuántas filas se han actualizado.

Ejemplos

Actualizar un campo de toda la tabla

Actualizar el campo id_departamento de todos los empleados utilizando un operador relacional:

update empleados
set id_departamento = 1;

Actualizar un campo que cumpla con la condición

Actualizar el campo id_departamento de todos los empleados utilizando un operador relacional, pero solo aquellos que cumplan la condición:

update empleados
set id_departamento = 2
where id_empleado > 1;

Ejemplo completo

Copia y pega el siguiente código en tu consola de Oracle y realiza paso a paso leyendo los comentarios:

-- Borramos la tabla por si ya existía
DROP TABLE empleados;

--Creamos la tabla de empleados
CREATE TABLE empleados
(
    id_empleado numeric(2,0),
    id_departamento numeric(2,0),
    nombre character varying(50),
    puesto character varying(50),
    sueldo integer
);

-- Insertamos registros de ejemplo
INSERT INTO empleados  VALUES (1,1,'Miguel Troyano','Analista', 60000);
INSERT INTO empleados  VALUES (2,1,'Ismael Troyano','Analista', 60000);
INSERT INTO empleados  VALUES (3,1,'Jose Troyano','Director', 80000);
INSERT INTO empleados  VALUES (4,1,'Pilar Troyano','Directora', 80000);

-- Consultamos los datos
select *
from empleados;

-- actualizamos todos los empleados al departamento 1
update empleados
set id_departamento = 1;

-- Actualizamos el departamento a todos los empleados donde su id es mayor a 1
update empleados
set id_departamento = 2
where id_empleado > 1;

Escribir un comentario