Há duas maneiras de remover registros em Oracle. Uma é usar o "kill all" situação em que o comando TRUNCATE esvazia completamente a tabela de banco de dados, eo outro é o comando DELETE , que pode filtrar os registros prospectivos e reverter a ação em casos como o apagamento acidental . A maneira mais segura para demonstrar esse processo é a criação de uma tabela de teste e tentar os potenciais comandos para fora , em vez de ensaios em banco de dados existente . Instruções
APAGAR
1
Criar uma tabela de teste e preenchê-lo com dados para testar o resultado. Os dados inseridos demonstra o uso da exclusão e da declaração truncada , como segue:
CRIAR TABLE teste ( testdata VARCHAR2 (2) );
INSERT INTO teste ( TestData ) VALUES (' AX ');
INSERT INTO teste ( testData ) VALUES (' AY ' ) ;
INSERT INTO teste ( testData ) VALUES (' AZ ' ) ;
INSERT INTO teste ( testData ) VALUES (' BX ' );
INSERT INTO teste ( testData ) VALUES (' por');
INSERT INTO teste ( testData ) VALUES (' BZ ' ) ; < br >
INSERT INTO teste ( testData ) VALUES (' CX ' ) ;
INSERT INTO teste ( testData ) VALUES (' CY ' ) ;
INSERT INTO teste ( testData ) VALUES ( ' CZ ');
INSERT INTO teste ( testData ) VALUES (' DX ' ) ;
INSERT INTO teste ( testData ) VALUES (' DY ' ) ;
INSERIR INTO teste ( testData ) VALUES (' DZ ' );
commit;
SELECT * FROM teste ;
2
apagar um número de linhas usando o comando delete , mas não cometa o resultado. Isto irá mostrar como apagar protege os dados contra o apagamento acidental em circunstâncias normais. Excluir comando é executado a partir da linha de comando da seguinte forma:
SQL > DELETE FROM teste WHERE testdata LIKE ' A% ';
Isto irá apagar todas as linhas prefixadas por "A" e deixar o . resto restante
reverter o resultado e exibir os resultados da tabela , exemplo:
SQL > ROLLBACK ;
Isto irá reverter a instrução de exclusão anterior ea tabela deve agora ser definido de volta ao seu estado original . Isso é verificável por:
SQL > SELECT * FROM teste ;
3
Execute o comando DELETE novamente , então " COMMIT " e " reversão" antes de testar a saída como ilustrado :
SQL > DELETE FROM teste WHERE testdata LIKE ' A% ';
SQL > COMMIT ;
SQL > ROLLBACK ;
SQL > SELECIONE * FROM teste ;
isso mostra que a Oracle " APAGAR" declaração tem sido eficaz e ignorou a declaração de reversão, devido a uma ação " COMMIT " a ter lugar imediatamente depois. Isso indica que todas as linhas que começam com "A" no campo " testdata " desapareçam do banco de dados e não são reembolsáveis com uma declaração de " reversão" .
TRUNCATE
4
Executar uma declaração truncada na mesa de teste da seguinte forma:
SQL > TRUNCATE TABLE teste ;
5
Reverter a afirmação anterior da seguinte forma:
SQL > ROLLBACK ;
6
Selecione os itens da tabela de teste da seguinte forma:
SQL > SELECT * FROM teste ;
Este não mostra itens sobre a mesa . A afirmação " ROLLBACK " não funciona no comando TRUNCATE e todas as linhas no banco de dados desaparecem.
Outra grande diferença de "DELETE" é que " TRUNCATE " funciona mais rápido , mas não é capaz de filtrar os dados usando uma cláusula "where" (ao contrário Delete).