ORA-01031 – GENERATED BY DEFAULT AS IDENTITY

Este post também está disponível em: English

Ao criar uma tabela simples, ocorreu o erro de privilégios insuficientes:
ERROR at line 1: ORA-01031: insufficient privileges.
Isso aconteceu porque o comando “GENERATED BY DEFAULT AS IDENTITY” exige que o usuário tenha, além do privilégio de CREATE TABLE, o privilégio de CREATE SEQUENCE.

SQL> create table t5 (id int GENERATED BY DEFAULT AS IDENTITY);
Table created.
SQL

No Oracle 12c, a equipe de desenvolvimento incluiu a feature de Identity Columns, semelhante à coluna AUTO_INCREMENT no MySQL ou à coluna IDENTITY no SQL Server. Com essa introdução, os desenvolvedores agora podem definir uma coluna como coluna de identidade diretamente durante a criação da tabela. Aqui está um exemplo de como criar uma tabela com uma coluna de identidade:

CREATE TABLE Exemplo (
    ID NUMBER GENERATED BY DEFAULT AS IDENTITY,
    Nome VARCHAR2(50)
);
SQL

Neste exemplo, o Oracle define a coluna ID como uma coluna de identidade (IDENTITY) e gera automaticamente valores incrementais para essa coluna sempre que um novo registro é inserido na tabela.

Artigo anterior

Análise de log: tail (Linux) no windows

Próximo Artigo

ORA-16905: The member was not enabled yet.

Escreva um comentário

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *