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:
    1. Adiciona-se uma coluna sem especificar NOT NULL.
    2. Dá-se valor à coluna para cada uma das filas.
    3. 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

Deixe um comentário