sql >> Base de Datos >  >> RDS >> Oracle

Cómo eliminar una fila en Oracle

Este tutorial de SQL proporciona explicaciones, ejemplos para Eliminar de la tabla en Oracle

Eliminar de la tabla se usa en Oracle Sql para eliminar las filas de la tabla. Es una declaración DML (lenguaje de manipulación de datos). Se utiliza para eliminar el subconjunto de filas existentes o todas las filas existentes de la tabla.

Aquí está la sintaxis de eliminación en Oracle

Aquí, la tabla es el nombre de la tabla y la condición que especifica las filas que se eliminarán y está compuesta de columnas, subconsultas y expresiones

Puntos importantes.

  • La declaración de eliminación requiere un bloqueo en la tabla
  • Necesitamos comprometernos para cambiar permanentemente la fecha (commit;)
  • Podemos usar el comando de retroceder para deshacer los cambios de declaración de eliminación ( rollback;)
  • si se definen activadores al eliminar, se activará para cada fila eliminada
  • si desea averiguar cuántas filas se eliminarán de la declaración de eliminación, primero puede activar la declaración de selección con la misma cláusula where para averiguar la cantidad de filas

Veamos algunas formas de usar la instrucción DELETE

ELIMINAR filas específicas de la tabla o ¿Cómo elimino un registro de Oracle

Supongamos que queremos eliminar las filas donde el nombre de la columna ='JOHN'

delete from emp where name='JOHN';
commit;

or 
delete from emp where name='JOHN';
rollback;

o

Supongamos que queremos eliminar un departamento de la tabla de departamentos

delete from dept where dept_no= 10;
commit;

Estas declaraciones eliminarán todas las filas que contengan ese valor de columna en particular. Una vez completada la declaración de eliminación, se mostrará cuántas filas se eliminan. necesitamos comprometernos a realizar los cambios de forma permanente.

Si no se eliminan filas, mostrará 0 filas eliminadas.

ELIMINAR TODAS las filas de la tabla en Oracle o ¿Cómo elimino todos los registros de la tabla

Supongamos que queremos eliminar todas las filas del ejemplo de la tabla, entonces la declaración sería

Delete from example;

delete from employee;

delete from fnd_users;
commit;

Eliminará todas las filas de la tabla de Oracle e imprimirá cuántas filas se eliminan, que es en realidad el recuento de la tabla.

Esto no restablece la marca de agua alta de la tabla. y usa deshacer. Es posible que desee utilizar la tabla Truncar en el comando de Oracle que restablece el HWM (marca de agua alta) y hace mucho menos deshacer que eliminar la declaración

ELIMINAR filas de la tabla según la subconsulta en Oracle

La declaración de eliminación se puede usar con una subconsulta para eliminar las filas

Supongamos que queremos eliminar las filas en Emp según el nombre del departamento en la tabla del departamento, entonces la declaración de eliminación sería como

delete from emp where dept_id = (select dept_id from dept where dept_name='SALES');
commit;

La declaración anterior primero buscaría dept_id de la tabla dept donde dept_name es ventas. y luego alimenta el dept_id a la declaración de eliminación para la tabla emp

ELIMINAR filas de la tabla usando la cláusula EXISTS/NOT EXISTS

Esta es otra forma de eliminar usando solo una subconsulta. Esto se usa cuando desea comparar dos tablas para eliminar los datos

Suponga que desea eliminar registros de la tabla de departamento donde no hay ningún empleado

delete from
FROM dept d
WHERE NOT EXISTS
(SELECT * FROM emp e
WHERE d.dept_id
= e.dept_id);
commit;

Espero que te guste este contenido sobre Cómo eliminar una fila en Oracle

Artículos relacionados
Alterar tabla en Oracle:Alterar tabla en Oracle se usa para modificar una columna, eliminar y agregar restricciones, cambiar el tipo de datos de la columna de la tabla, cambiar los parámetros de almacenamiento de la tabla
Crear una tabla temporal global en Oracle
Instrucción de actualización en Oracle:utilizamos la instrucción de actualización en Oracle para modificar las filas existentes en la tabla de Oracle en la base de datos de Oracle. Una actualización se puede ejecutar de varias maneras
DROP TABLE ORACLE:obtenga información sobre la eliminación de tablas en Oracle, eliminación de tablas si existe en Oracle, eliminación de varias tablas en un solo comando, restricciones de cascada de eliminación de tablas
Oracle Create table:Tables son la unidad básica de almacenamiento de datos en una base de datos Oracle. cubrimos cómo usar el comando de creación de tabla de Oracle para crear una tabla con una clave externa/clave principal
Documentación de Oracle sobre la eliminación
cascada de eliminación de Oracle:Consulte esta publicación sobre cómo resolver ORA-02292 usando la cascada de eliminación de Oracle con ejemplo detallado y explicación