Eliminar registros con DELETE en Oracle

En este artículo vamos aprender a eliminar registros con DELETE en Oracle de una tabla. Usaremos la cláusula DELETE para borrar, que junto al where borraremos solo aquellos registros que cumplan la condición.

Sintaxis para eliminar registros en Oracle

Para eliminar registros en Oracle utilizamos la siguiente sintaxis:

delete from nombreTabla
where condicion

En la sintaxis anterior:

  • Primero decimos de que tabla queremos borrar los datos. Escribimos delete from seguido del nombre de la tabla.
  • En segundo lugar, después de la palabra where escribimos cuando debe borrar los datos.

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

Al realizar un borrado nos devolverá un mensaje informando de cuántas filas se han borrado.

DELETE solo borra información, nunca actúa sobre la estructura de la tabla.

Ejemplos

Borrar toda la tabla

Aunque es posible borrar toda la tabla utilizando delete no es nada aconsejable. Para borrar todos los datos de una tabla de la forma más optima, usa la cláusula TRUNCATE.

delete from empleados;

Borrar registros que cumplan la condición

En el siguiente ejemplo puede observar cómo se van a borrar todos los empleados que cumplan con la condición:

delete from empleados
where id_empleado = 3;

Ejemplo completo

Copia y pega el siguiente código en tu consola de PostgreSQL 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;

-- borramos el registro de Jose
delete from empleados
where id_empleado = 3;

-- Consultamos de nuevo los datos
select *
from empleados;

-- Borramos toda la tabla
delete from empleados;

Escribir un comentario