Supressão e modificação de tabelas com SQL
Supressão de tabelas:
DROP TABLE: suprime uma tabela do banco de dados. Cada usuário pode eliminar suas próprias tabelas, porém só o administrador ou algum usuário com o privilégio “DROP ANY TABLE” pode eliminar as tabelas de outro usuário. Ao suprimir uma tabela também se suprimem os índices e os privilégios associados a ela. As vistas e os sinônimos criados a partir desta tabela deixam de funcionar, mas continuam existindo no banco de dados, portanto deveríamos elimina-los.
Exemplo:
DROP TABLE [USUARIO].NOMETABELA [CASCADE CONSTRAINTS];
TRUNCATE: permite suprimir todas as filas de uma tabela e liberar o espaço ocupado para outros usos sem que reapareça a definição da tabela do banco de dados. Uma ordem TRUNCATE não se pode anular, assim como também não ativa os disparadores DELETE.
TRUNCATE TABLE [USUARIO.]NOMETABELA [{DROP | REUSE} STORAGE];
Modificação de tabelas:
Modificam-se as tabelas de duas formas: Mudando a definição de uma coluna (MODIFY) ou acrescentando uma coluna a uma tabela existente (ADD):
Formato:
ALTER TABLE NOMETABELA
{[ADD (COLUNA [,COLUNA]…)]
[MODIFY (COLUNA [,COLUNA]…)]
[ADD CONSTRAINT RESTRICAO]
[DROP CONSTRAINT RESTRICAO]};
ADD= Adiciona uma coluna ou mais no final de uma tabela.
MODIFY= Modifica uma ou mais colunas existentes na tabela.
ADD CONSTRAINT= Adiciona uma restrição à definição da tabela.
DROP CONSTRAINT= Elimina uma restrição da tabela.
Na hora de adicionar uma coluna a uma tabela há que ter em conta:
- Se a coluna não estiver definida como NOT NULL pode-se adicionar em qualquer momento.
- Se a coluna estiver definida como NOT NULL pode-se seguir estes passos:
- Adiciona-se uma coluna sem especificar NOT NULL.
- Dá-se valor à coluna para cada uma das filas.
- Modifica-se a coluna NOT NULL.
Ao modificar uma coluna de uma tabela, há que ter em conta:
- Pode-se aumentar a longitude de uma coluna em qualquer momento.
- É possível aumentar ou diminuir o número de posições decimais em uma coluna de tipo NUMBER.
- Se a coluna for NULL em todas as filas da tabela, pode-se diminuir a longitude e modificar o tipo de dado.
- A opção MODIFY… NOT NULL só será possível quando a tabela não contiver nenhuma fila com valor nulo na coluna que se modifica.
Adição de restrições:
Com a ordem ALTER TABLE se acrescentam restrições a uma tabela.
Formato:
ALTER TABLE NOMETABELA
ADD CONSTRAINT NOMECONSTRAINT…
Eliminação de restrições:
A ordem ALTER TABLE com a cláusula DROP CONSTRAINT; com a que se eliminam as restrições com nome e as atribuídas pelo sistema. Formato:
ALTER TABLE NOMETABELA
DROP CONSTRAINT NOME_CONSTRAINT,
NOME_RESTRICAO:
Fonte: http://www.criarweb.com/artigos/supressao_tabelas_sql.html