Tabela de gota oracle tabela de soltar se houver

Tabela de gota oracle tabela de soltar se houver

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, que é 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. Isso ocorre porque ele remove completamente a capacidade de realizar uma rolagem ou recuperação de tabela após executar o comando Drop. Pule esta opção se desejar recuperar a tabela para uso posterior.

Da mesma forma, pode ser um recurso útil quando você precisar destruir alguns bancos de dados sensíveis da lixeira.

Oracle Drop Table Exemplo de ilustração

A seguir, são apresentados exemplos de uso da declaração da tabela de soltar nos bancos de dados Oracle.

Exemplo 1: Comando básico da tabela de gota

A ilustração 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, vamos prosseguir.

Crie filme de mesa (
número de film_id
Gerado como identidade,
Título Varchar (100) não nulo,
release_year em não nulo,
Descrição Varchar (255),
idioma varchar (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 de soltar com restrições

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

Crie o Table Studio (
Chave primária do número do studio_id,
Studio_name Varchar2 (50)
);
Crie filme de mesa (
Film_id Número Chave primária,
Título Varchar (100) não nulo,
release_year em não nulo,
Descrição Varchar (255),
idioma varchar (50),
Classificação Varchar (50),
IMBD_SCORE FLOAT,
Rental_rate flutuar,
Número do Studio_id não nulo,
Restrição f_studio key estrangeiro (studio_id)
Referências Studio (Studio_id)
Em excluir cascata
);

Se tentarmos soltar a tabela sem remover as restrições, o Oracle retorna 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 seguinte:

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, cascata as restrições podem levar à falha de dados nas tabelas e em todo o banco de dados. Use -o com cuidado.

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

Para remover uma tabela sem armazená -la na lixeira, podemos usar a palavra -chave purga, conforme ilustrado na seguinte ilustração:

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: 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 várias tabelas de uma só vez.

Você pode, no entanto, usar um bloco SQL para executar a operação como mostrado no seguinte:

começar
para eu em
(
Selecione TBL_NAME
de all_tables
onde table_name como 'padrão'
)
laço
executar 'tabela de gota' imediata || i.tbl_name || 'Restrições em cascata' || 'purga';
loop final;
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.