Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

problemas com nextval

Olá! Não consigo solucionar este problema, criei o autoid.nextval coloquei em uso crio a tabela e o oracle me retorna este erro e o mesmo problema ocorre nos demais comandos com o generated always identity e o generated by default as identity sempre este mesmo erro. Erro de SQL: ORA-00984: coluna não permitida aqui, alguém pode me ajudar? estou no oracle 11g, não sei se muda tanto o código!

Erro a partir da linha : 5 no comando - create table pedidos ( id number(11) DEFAULT autoid.NEXTVAL, status varchar2(30) ) Relatório de erros - Erro de SQL: ORA-00984: coluna não permitida aqui 00984. 00000 - "column not allowed here" Cause: Action:

create sequence autoid;

SELECT autoid.NEXTVAL from dual;

create table pedidos
(
    id         number(11) DEFAULT autoid.NEXTVAL,
    status     varchar2(30)
);
2 respostas

Tenta rescrever e UTILIZAR SEM ESQUECER DO _SEQ DE: create sequence autoid; PARA: CREATE SEQUENCE autoid_seq;


id number(11) DEFAULT autoid_seq.NEXTVAL, Bem, essa é a minha sugestão, talvez funcione.
solução!

Obrigado Eduardo meu xará pela ajuda rsrs, ajustei conforme sua sugestão mas continuo com o mesmo problema, eu não sei se está solução ensinada na aula só é aceito se for codificado no oracle 12c, realmente tentei todas as formas apresentada na aula e não funcionou, só consegui criar um id com autonumeração e que não fosse permitido repetir criando uma trigger, os exemplos da aula é bem mais simples porém não sei porque não rola, como sou novato na área só encontrei essa forma kkk se alguém puder me explicar esta questão eu agradeço.

create OR replace trigger trg_bi_pedidos
before insert on pedidos
for each row
begin
if :new.id_pedido is null then
select autoid.nextval
into :new.id_pedido
from dual;
end if;
end;

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software