Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como excluir uma linha no oracle


Este tutorial SQL fornece explicações, exemplos para Excluir da tabela no Oracle

Delete from table é usado no Oracle Sql para excluir as linhas da tabela. É uma instrução DML (linguagem de manipulação de dados). Ele é usado para excluir o subconjunto de linhas existentes ou todas as linhas existentes da tabela.

Aqui está a sintaxe de exclusão no Oracle

Aqui, a tabela é o nome e a condição da tabela que especifica as linhas a serem excluídas  e é composta por colunas, subconsultas e expressões

Pontos importantes.
  • A instrução de exclusão requer um bloqueio na tabela
  • Precisamos nos comprometer para alterar permanentemente a data (commit;)
  • Podemos usar o comando rollback para desfazer as alterações da instrução delete ( rollback;)
  • se os gatilhos de exclusão forem definidos, ele será acionado para cada linha excluída
  • se você quiser descobrir quantas linhas serão excluídas da instrução delete, você pode primeiro acionar a instrução select com a mesma cláusula where para descobrir o número de linhas

Vejamos algumas maneiras de usar a instrução DELETE

EXCLUIR linhas específicas da tabela ou Como excluir um registro do Oracle


Suponha que queremos excluir as linhas em que o nome da coluna name='JOHN'
delete from emp where name='JOHN';
commit;

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

ou

Suponha que queremos excluir um departamento da tabela de departamentos
delete from dept where dept_no= 10;
commit;

Essas instruções excluirão todas as linhas que contêm esse valor de coluna específico. Depois que a instrução de exclusão for concluída, ela mostrará quantas linhas foram excluídas. precisamos realizar o compromisso de fazer as alterações permanentemente.

Se nenhuma linha for excluída, mostrará 0 linhas excluídas.

EXCLUIR TODAS as linhas da tabela no Oracle ou Como faço para excluir todos os registros da tabela


Suponha que queremos excluir todas as linhas do exemplo da tabela, então a instrução seria
Delete from example;

delete from employee;

delete from fnd_users;
commit;

Ele excluirá todas as linhas da tabela oracle e imprimirá quantas linhas foram excluídas, o que na verdade é a contagem da tabela.

Isso não redefine a marca d'água alta da tabela. e usa desfazer. Você pode querer usar a tabela Truncar no comando Oracle que redefine o HWM (marca d'água alta) e faz muito menos desfazer do que a instrução de exclusão

DELETE  linhas da tabela com base na subconsulta no Oracle


A instrução delete pode ser usada com uma subconsulta para excluir as linhas

Suponha que queremos excluir as linhas em Emp com base no nome do departamento na tabela do departamento, então a instrução delete seria como
delete from emp where dept_id = (select dept_id from dept where dept_name='SALES');
commit;

A instrução acima procuraria primeiro por dept_id na tabela dept onde dept_name é vendas. e, em seguida, alimenta o dept_id para a instrução delete para a tabela emp

DELETE  linhas da tabela usando a cláusula EXISTS/NOT EXISTS


Essa é outra forma de exclusão usando apenas a subconsulta. Isso é usado quando você deseja comparar duas tabelas para excluir os dados

Suponha que você queira excluir registros da tabela de departamentos onde não há funcionário
delete from
FROM dept d
WHERE NOT EXISTS
(SELECT * FROM emp e
WHERE d.dept_id
= e.dept_id);
commit;

Espero que gostem deste conteúdo sobre Como excluir uma linha no oracle

Artigos relacionados
Alterar tabela no Oracle:Alterar tabela no oracle é usado para modificar uma coluna, remover e adicionar restrições, alterar o tipo de dados da coluna da tabela, alterar os parâmetros de armazenamento da tabela
Criar uma tabela temporária global no Oracle
Instrução de atualização no oracle :Usamos a instrução de atualização no oracle para modificar as linhas existentes na tabela oracle no banco de dados oracle. Uma atualização pode ser executada de várias maneiras
DROP TABLE ORACLE:Aprenda sobre drop table no Oracle, Drop table se existir no Oracle, drop várias tabelas em um comando, drop table cascade constraints
Oracle Create table:Tables são a unidade básica de armazenamento de dados em um banco de dados Oracle. abordamos como usar o comando Oracle create table para criar uma tabela com uma chave estrangeira / chave primária com exemplo detalhado e explicação