Qual é a principal diferença entre truncar e excluir no banco de dados oracle?

No banco de dados Oracle, Truncate é um comando DDL também em DDL é Drop, enquanto Delete é um comando DML. Então, abaixo está uma breve explicação…

EXCLUIR

O comando DELETE é usado para remover linhas de uma tabela. Uma cláusula WHERE pode ser usada para remover apenas algumas linhas. Se nenhuma condição WHERE for especificada, todas as linhas serão removidas. Depois de executar uma operação DELETE, você precisa COMITAR ou ROLLBACK a transação para tornar a alteração permanente ou desfazê-la. Observe que esta operação fará com que todos os gatilhos DELETE na tabela sejam acionados.

SQL SELECT COUNT (*) FROM emp; CONTAGEM (*) ---------- 14 SQL> DELETE FROM emp WHERE job = 'CLERK'; 4 linhas excluídas. SQL> COMMIT; Confirme concluído. SQL SELECT COUNT (*) FROM emp; CONTAGEM (*) ---------- 10

TRUNCAR

TRUNCATE remove todas as linhas de uma tabela. A operação não pode ser revertida e nenhum acionador será acionado. Como tal, TRUCATE é mais rápido e não usa tanto espaço para desfazer quanto um DELETE.

SQL> TRUNCATE TABLE emp; Tabela truncada. SQL SELECT COUNT (*) FROM emp; COUNT (*) ---------- 0

SOLTA

O comando DROP remove uma tabela do banco de dados. Todas as linhas, índices e privilégios das tabelas também serão removidos. Nenhum gatilho DML será acionado. A operação não pode ser revertida.

SQL> DROP TABLE emp; A mesa caiu. SQL SELECT * FROM emp; SELECT * FROM emp * ERRO na linha 1: ORA-00942: tabela ou exibição não existe

DROP e TRUNCATE são comandos DDL, enquanto DELETE é um comando DML. Portanto, as operações DELETE podem ser revertidas (desfeitas), enquanto as operações DROP e TRUNCATE não podem ser revertidas.

No Oracle 10g, uma tabela pode ser "não cortada". Exemplo:

SQL> FLASHBACK TABLE antes da queda; Flashback concluído.

No banco de dados Oracle, Truncate é um comando DDL também em DDL é Drop, enquanto Delete é um comando DML. Então, abaixo está uma breve explicação…

EXCLUIR

O comando DELETE é usado para remover linhas de uma tabela. Uma cláusula WHERE pode ser usada para remover apenas algumas linhas. Se nenhuma condição WHERE for especificada, todas as linhas serão removidas. Depois de executar uma operação DELETE, você precisa COMITAR ou ROLLBACK a transação para tornar a alteração permanente ou desfazê-la. Observe que esta operação fará com que todos os gatilhos DELETE na tabela sejam acionados.

SQL SELECT COUNT (*) FROM emp; CONTAGEM (*) ---------- 14 SQL> DELETE FROM emp WHERE job = 'CLERK'; 4 linhas excluídas. SQL> COMMIT; Confirme concluído. SQL SELECT COUNT (*) FROM emp; CONTAGEM (*) ---------- 10

TRUNCAR

TRUNCATE remove todas as linhas de uma tabela. A operação não pode ser revertida e nenhum acionador será acionado. Como tal, TRUCATE é mais rápido e não usa tanto espaço para desfazer quanto um DELETE.

SQL> TRUNCATE TABLE emp; Tabela truncada. SQL SELECT COUNT (*) FROM emp; COUNT (*) ---------- 0

SOLTA

O comando DROP remove uma tabela do banco de dados. Todas as linhas, índices e privilégios das tabelas também serão removidos. Nenhum gatilho DML será acionado. A operação não pode ser revertida.

SQL> DROP TABLE emp; A mesa caiu. SQL SELECT * FROM emp; SELECT * FROM emp * ERRO na linha 1: ORA-00942: tabela ou exibição não existe

DROP e TRUNCATE são comandos DDL, enquanto DELETE é um comando DML. Portanto, as operações DELETE podem ser revertidas (desfeitas), enquanto as operações DROP e TRUNCATE não podem ser revertidas.

No Oracle 10g, uma tabela pode ser "não cortada". Exemplo:

SQL> FLASHBACK TABLE antes da queda; Flashback concluído.

TRUNCAR

  • TRUNCATE é um comando DDLTRUNCATE é executado usando um bloqueio de tabela e a tabela inteira é bloqueada para remover todos os registros. Não podemos usar a cláusula Where com TRUNCATE.TRUNCATE remove todas as linhas de uma tabela. TRUNCATE TABLE remove os dados desalocando as páginas de dados usadas para armazenar os dados da tabela e registra apenas as desalocações de páginas no log de transações. A coluna Identify é redefinida para seu valor inicial se a tabela contiver alguma coluna de identidade. pelo menos, a permissão ALTER na tabela.Truncate usa menos espaço de transação que a instrução Delete.Truncate não pode ser usado com exibições indexadas.

EXCLUIR

  • DELETE é um comando DML.DELETE é executado usando um bloqueio de linha, cada linha da tabela está bloqueada para exclusão.Podemos usar a cláusula where com DELETE para filtrar e excluir registros específicos.O comando DELETE é usado para remover linhas de uma tabela com base em A instrução DELETE remove as linhas uma por vez e registra uma entrada no log de transações para cada linha excluída.A identidade da coluna mantém DELETE retém a identidade.Para usar Excluir você precisa da permissão DELETE na tabela. O Delete usa mais espaço de transação que a instrução Truncate. O Delete pode ser usado com exibições indexadas.