Resumo: neste tutorial, você irá aprender como usar a coluna de identidade Oracle para definir facilmente uma coluna numérica gerada automaticamente para uma tabela.

Introdução ao Oracle identity coluna

Oracle 12c introduziu uma nova forma, que permite a você definir uma coluna de identidade de uma tabela, que é semelhante ao AUTO_INCREMENT coluna no MySQL ou IDENTITY coluna no SQL Server.

a coluna da identidade é muito útil para a coluna da chave primária substituta., Quando você insere uma nova linha na coluna identidade, Oracle auto-gera e insere um valor sequencial na coluna.

para definir uma coluna de identidade, você usa a cláusula de identidade como mostrado abaixo:

primeiro, a palavra-chaveGENERATED é obrigatória.

Em segundo lugar, poderá indicar uma opção para gerar valores de identidade:

  • GENERATED ALWAYS: o Oracle gera sempre um valor para a coluna identidade. A tentativa de inserir um valor na coluna identidade irá causar um erro.,
  • GENERATED BY DEFAULT: Oracle gera um valor para a coluna de identidade se você não fornecer nenhum valor. Se você fornecer um valor, a Oracle irá inserir esse valor na coluna identidade. Para esta opção, Oracle irá emitir um erro se você inserir um valor nulo na coluna identidade.
  • GENERATED BY DEFAULT ON NULL: Oracle gera um valor para a coluna de identidade, se você fornecer um valor NULO ou nenhum valor.

terceiro, você pode ter um número de opções para a coluna identidade.,

  • START WITH initial_value controla o valor inicial a usar para a coluna de identidade. O valor inicial padrão é 1.
  • INCREMENT BY internval_value define o intervalo entre os valores gerados. Por padrão, o valor do intervalo é 1.
  • define um número de valores que a Oracle deve gerar de antemão para melhorar o desempenho. Você usa esta opção para a coluna que tem um elevado número de inserções.

exemplos de coluna de identidade Oracle

vamos tomar alguns exemplos de usar as colunas de identidade Oracle.,

A) GERADO SEMPRE exemplo

a instrução A seguir cria uma tabela chamada identity_demo que consiste de uma coluna de identidade:

a instrução A seguir insere uma nova linha identity_demo tabela:

por que nós não especificar um valor para o id coluna, Oracle gerado automaticamente um valor seqüencial, a partir de 1.,

a instrução A seguir tenta inserir um valor para o id coluna de identidade:

Oracle emitido um erro:

uma Vez que o id coluna foi definida como GENERATED ALWAYS, ele não podia aceitar qualquer valor fornecido.,

B) GENERATED BY DEFAULT example

Let’s change the id column to GENERATED BY DEFAULT:

The following statement inserts a new row into the identity_demo table:

It worked as expected.,

a instrução A seguir insere uma nova linha identity_demo tabela com um valor fornecido para o id coluna:

neste exemplo, a Oracle utilizado o valor fornecido e inserido-lo para a mesa.,Primeiro, recria o identity_demo tabela cujos id coluna é definida como a coluna de identidade com o valor inicial começa a partir de 100:

em Segundo lugar, inserir uma linha para o identity_demo tabela:

o Terceiro, consulta de dados a partir de identity_demo tabela:

Como você pode ver, o valor inicial de id coluna é de 100, conforme especificado na identidade cláusula.,

e) INCREMENT BY option example

First, change the id column of the identity_demo table that includes bothSTART WITH andINCREMENT BY options.

em Segundo lugar, inserir duas linhas em identity_demo tabela:

o Terceiro, consulta de dados da tabela para verificar as pastilhas:

Como você pode ver, a primeira linha tem o valor de id 10. A segunda linha tem o valor id 20., Isto é o que definimos para a coluna id que deve começar com 10 e aumentar em 10 para a nova linha.

Oracle identity column restrictions

As colunas de identidade estão sujeitas às seguintes restrições:

  • Cada tabela tem uma e apenas uma coluna de identidade.
  • o tipo de dados da coluna de identidade deve ser um tipo de dados numéricos. o tipo de dados definido pelo Utilizador não pode ser utilizado com a cláusula de identidade.
  • a coluna de identidade não é herdada pela declaração de CREATE TABLE AS SELECT.,
  • a coluna de identidade não pode ter outra restrição DEFAULT.
  • o algoritmo de encriptação para colunas de identidade encriptadas pode ser inferido, pelo que deverá usar um algoritmo de encriptação forte.
  • A restrição inline da coluna de identidade não deve entrar em conflito com a restrição NOT NULL e NOT DEFERRABLE declarada pela cláusula de identidade.

neste tutorial, você aprendeu a usar a coluna de identidade do Oracle que lhe permite definir facilmente uma coluna numérica gerada automaticamente para uma tabela.,

  • este tutorial foi útil?
  • YesNo

Articles

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *