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;