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