Oracle Drop Table se existir

Oracle Drop Table se existir
Este tutorial tem como objetivo mostrar como trabalhar com o comando da tabela Drop nos bancos de dados Oracle. Este comando remove uma tabela existente de um determinado banco de dados para a lixeira ou permanentemente.

Declaração da tabela de gota Oracle

A seguir, define a sintaxe do comando da tabela Drop:

Drop tabela esquema_name.Nome da tabela
[Restrições em cascata | PURGA];

Começamos chamando o comando Drop Table seguido pelo nome do esquema em que a tabela de destino reside. Ao contrário de outros mecanismos de banco de dados, o Oracle exige que você especifique o esquema de destino. Caso contrário, o Oracle assumirá que você deseja remover a tabela do seu esquema, o que pode não ser a sua operação pretendida.

Em seguida é o nome da tabela que você deseja remover. Novamente, esta deve ser uma tabela existente no esquema especificado. Finalmente, você também deve ter privilégios suficientes na tabela de destino para executar uma operação de queda.

A segunda parte, as restrições em cascata, diz ao Oracle para remover todas as restrições de integridade referencial associadas às chaves primárias e únicas da tabela.

Se você não especificar esta cláusula e a tabela contém essas restrições referenciais, o Oracle retorna um erro e não remove a tabela.

A palavra -chave Purge diz ao Oracle para remover a tabela do esquema e liberar o espaço alocado. A opção de purga permite que você remova permanentemente a tabela em vez de colocá -la na lixeira.

Cuidado: tenha cuidado ao usar a opção de purga. Ele remove completamente a capacidade de realizar uma rolagem ou recuperação de tabela após a execução do comando Drop. Portanto, pule esta opção se desejar recuperar a tabela para uso posterior. No entanto, pode ser um recurso útil quando você precisar destruir os bancos de dados sensíveis da lixeira de reciclagem.

Oracle Drop Table Exemplo de ilustração

A seguir, são apresentados exemplos de uso da instrução DROP TABLE em bancos de dados Oracle:

Exemplo 1: Comando básico de tabela de soltamento Oracle

A seguir, mostra as instruções simples da tabela Create que inicializam uma tabela simples para fins de ilustração.

Sinta -se à vontade para pular esta seção se tiver uma tabela de destino que deseja remover. Caso contrário, prossiga para a etapa de processo.

Filme CreateTable (
número de film_id
GeneratedAsIdentity,
Título Varchar (100) NotNull,
release_year intnotNull,
Descrição Varchar (255),
LanguageVarchar (50),
Classificação Varchar (50),
IMBD_SCORE FLOAT,
Rental_rate flutuar
);

Depois de termos a tabela de amostra fornecida, podemos abandoná -la como mostrado na consulta a seguir:

Drop Table Film;

Nesse caso, como a tabela não contém restrições, não precisamos usar a cláusula de restrições em cascata.

Exemplo 2: Tabela Oracle Table Drop Table com restrições

Neste exemplo, desejamos ilustrar como remover uma tabela com restrições de chave primária e estrangeira.

CreateTable Studio (
Chave primária do número do studio_id,
Studio_name Varchar2 (50)
);
Filme CreateTable (
Film_id Número Chave primária,
Título Varchar (100) NotNull,
release_year intnotNull,
Descrição Varchar (255),
LanguageVarchar (50),
Classificação Varchar (50),
IMBD_SCORE FLOAT,
Rental_rate flutuar,
studio_id numberNotNull,
Restrição F_Studio ForeignKey (Studio_id)
Referências Studio (Studio_id)
OnDeleTecasCade
);

Se tentarmos deixar soltar a tabela sem remover as restrições, orcaleretrações um erro, como mostrado:

Drop Table Studio;

Saída:

[2022-11-14 04:28:33] [72000] [2449] ORA-02449: chaves exclusivas/primárias na tabela referenciada por chaves estrangeiras

Isso ocorre porque o ID faz referência à chave primária da tabela de estúdio.

Portanto, para remover a tabela de estúdio, precisamos usar a palavra -chave de restrições em cascata, como mostrado no exemplo a seguir:

Drop Table Studio Restrições em cascata;

Com isso, você deve remover a tabela com sucesso do esquema.

É bom garantir que os objetos referenciados não sejam críticos. Em alguns casos, as restrições em cascata podem levar à falha de dados nas tabelas e em todo o banco de dados. Use -o com cuidado.

Exemplo 3: Tabela de exclusão do Oracle (modo de purga)

Para remover uma tabela sem armazená -la na lixeira, podemos usar a palavra -chave purge, conforme ilustrado no exemplo a seguir:

Drop Table Film Purge;

Isso deve permitir que você remova permanentemente a tabela e libere o espaço ocupado de volta ao disco.

Exemplo 4: Oracle Exclua várias mesas

Ao contrário de outros bancos de dados bem pensados, como PostGresql, MySQL e SQL Server, o Oracle não fornece uma maneira de remover as várias tabelas de uma só vez.

Você pode, no entanto, usar um bloco SQL para executar essa operação da seguinte maneira:

COMEÇAR
Para eu em
(
Selecione TBL_NAME
De all_tables
Onde table_name como'pattern '
)
LAÇO
tabela de execução de reprodução '|| i.tbl_name || 'Restrições em cascata' || 'purga';
endloop;
FIM;

Você pode modificar o script anterior para remover as tabelas seguindo o padrão especificado.

Conclusão

Nesta postagem, exploramos os fundamentos de trabalhar com o comando tabela Drop no Oracle. Este comando permite que você remova uma tabela existente de um determinado esquema. Você também aprendeu a excluir uma tabela para reciclar a lixeira ou removê -la permanentemente. Esperamos que você tenha achado este artigo útil!