Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como alterar a tabela adicionar coluna oracle

Como alterar a tabela adicionar coluna no banco de dados oracle

  • Você adiciona uma nova coluna usando a ALTER TABLE ADD COLUMN declaração no Oracle
  • A tabela deve estar contida em seu esquema Para alterar uma tabela, ou você deve ter  privilégio de objeto ALTER para a tabela ou o privilégio de sistema ALTER ANY TABLE .
  • Se uma visualização, visualização materializada, gatilho, índice baseado em função, restrição de verificação, função, procedimento de pacote depende de uma tabela base, a alteração da tabela base ou de suas colunas pode afetar o objeto dependente. inválido  se o objeto de tabela dependente for alterado e você precisar torná-lo válido novamente

Podemos adicionar uma nova coluna à definição da tabela usando o comando alter table add
ALTER TABLE tech_master ADD (name  varchar2(9));
Table Altered
  • Antes de 11g, se uma nova coluna for adicionada a uma tabela, a coluna será inicialmente NULL, a menos que você especifique a cláusula DEFAULT. . Quando você especifica um valor padrão, o banco de dados atualiza imediatamente cada linha com o valor padrão. Observe que isso pode levar algum tempo e que, durante a atualização, há um bloqueio DML exclusivo na tabela.
  • Para alguns tipos de tabelas (por exemplo, tabelas sem colunas LOB), se você especificar uma restrição NOT NULL e um valor padrão, o banco de dados poderá otimizar a operação de adição de coluna e reduzir bastante o tempo em que a tabela é bloqueado para DML. O mesmo é o caso da adição de coluna não nula com valor padrão
  • A Oracle introduziu o recurso de adição rápida de coluna no 11g, portanto, quando adicionamos coluna não nula com valor padrão ou coluna nula com valor padrão, a Oracle adiciona a coluna imediatamente e não atualiza cada linha com o valor padrão. S
  • o que incorre em qualquer penalidade para geração de refazer e desfazer. Quando um usuário seleciona a coluna para um registro existente, o Oracle obtém o fato sobre o valor padrão do dicionário de dados e o retorna ao usuário.

Você não pode especificar onde a coluna deve aparecer. A coluna recém-adicionada se torna a última coluna

 Da mesma forma, podemos adicionar várias colunas à tabela
ALTER TABLE table_name
ADD (col1 column datatype [default  expr],
col2 column datatype [default  expr],
...
coln column datatype [default  expr]);

Example
ALTER TABLE customer_master
ADD (location_name varchar2(100),
last_login date);

As convenções de nomenclatura de colunas  são as mesmas do caso da instrução Criar tabela

  • O nome escolhido para uma coluna deve seguir estas regras padrão:
  • O nome deve começar com uma letra A-Z ou a-z
  • pode conter números e sublinhados
  • Pode ser maiúsculo ou minúsculo
  • Pode ter até 30 caracteres
  • Não é possível usar o mesmo nome de outro objeto existente em seu esquema
  • Não deve ser um servidor Oracle e uma palavra reservada SQL

Os tipos de dados são os mesmos da instrução create table
Personagem -CHAR, NCHAR, VARCHAR2 &NVARCHAR2.
– O tipo de dados CHAR é uma string alfanumérica de comprimento fixo que tem um comprimento máximo em bytes.
-Ao criar um tipo de dados CHAR, o banco de dados preservará espaço para os dados de entrada e se os dados forem menores que o tamanho máximo, serão preenchidos com espaço à direita
-O tipo de dados VARCHAR2 é uma variável -length string alfanumérica, que tem um comprimento máximo em bytes. Ele pode armazenar até 4000 bytes.
Número -NUMBER
-O tipo de dados NUMBER armazena o número com precisão e escala.
- Tipos de dados numéricos armazenam números inteiros negativos e positivos números de ponto fixo e números de ponto flutuante
– Quando uma coluna é definida como NUMBER (6, 2), o intervalo de valores pode ser armazenado de –9999,99 a 9999,99. O Oracle arredonda os números de ponto flutuante.
Data e hora –DATE, TIMESTAMP (com fuso horário ou fuso horário local), INTERVAL YEAR TO MONTH &INTERVAL DAY TO SECOND.
-O tipo de dados DATE é usado para armazenar informações de data e hora.
-Este tipo de dado possui uma série de funções específicas para manipulação, formatação e visualização de seus dados.
– O tipo de dados DATE armazena sete bytes e possui informações sobre século, ano, mês, dia, horas, minutos e segundos.
– O parâmetro NLS_DATE_FORMAT pode ser alterado para controlar a visualização dos dados. A função SYSDATE retorna a data atual
Objetos grandes -BLOB (objeto binário grande) , CLOB (objeto de caractere grande) , NCLOB &BFILE
-Colunas desses tipos de dados podem armazenar dados não estruturados, incluindo texto, imagem, vídeo e dados espaciais. -O tipo de dados CLOB pode armazenar até oito terabytes de dados de caracteres usando o conjunto de caracteres do banco de dados CHAR.
-O tipo de dados BLOB é usado para armazenar grandes objetos binários não estruturados, como aqueles associados a dados de imagem e vídeo, onde os dados são simplesmente um fluxo de valores de “bit”.
-O valor do tipo de dados BFILE funciona como um localizador de arquivo ou ponteiro para arquivo no sistema de arquivos do servidor. O tamanho máximo de arquivo suportado é de 8 TB a 128 TB.
Longo Dados de caracteres de comprimento variável até 2 G
desordenado Um sistema numérico de 64 bases representando o endereço exclusivo da linha na tabela

Exemplo

Antes de adicionar coluna
Desc emp

Alterar tabela adicionar coluna
alter table emp add(ext varchar2(10));

Depois de adicionar coluna
Desc emp

Agora, descartando essa coluna
alter table emp drop column ext;

Espero que você goste do artigo sobre Como alterar a tabela e adicionar coluna no oracle
Artigos relacionados
sintaxe de criação da tabela oracle
Alterar tabela no Oracle
alterar movimentação da tabela
instrução DROP TABLE ORACLE
verificar o tamanho da tabela oracle
ora-20005:as estatísticas do objeto são bloqueado