Bom dia.
Sou novato no Oracle, estou tentando criar um tabela com uma coluna auto incremental, mas toda vez que executo o comando de criação ele me retorna um erro:
Comando:
CREATE TABLE conta (
numero MEDIUMINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
date DATE
);
Mensagem de erro:
ORA-00907: parêntese direito não encontrado
Consegui encontrar a resposta.
Na verdade pelo que encontrei nãoexiste coluna auto incremental no oracle.
Para trabalhar com colunas destes tipo temos que utilizar uma objeto chamado sequence.
EX:
Create sequence nome_da_seqüência
[increment by n]
[start with n]
[maxvalue n | nomaxvalue] or [minvalue n | nominvalue]
[cycle | nocycle]
[cache n | nocache];
Meu isto não existe em Oracle, Oracle não tem autoincrement…
Para isto se usa sequence.
Crie uma sequence e depois sempre q for inserir um registo tens q fazer um sequence.nextval.
Segue ai uns links…
http://www.techonthenet.com/oracle/sequences.php
http://www.cs.rpi.edu/~sibel/dbs/FALL2003/system_info/oracle/unique.htm
Isto do AutoIncrement diferencia muito de DB para DB, em Oracle e FireBird/Interbase, isto não existe, existe é sempre um tipo sequence e talz…
AutoIncrement só tem que eu saiba, em MSSqlServer e MySql…
Assim para poder distinguir uma Base de dados de verdade, são as que não tem autoincrement