[Vai eu dinovo] Erro com meu auto incremento do codigo. Help-me

1 resposta
leandro-maanaim

Pessoal olha so oque eu fiz (COMANDOS SQL) pra que meu codigo seja incrementado automaticamente.

CREATE TABLE “CADASTROS”
( “CODIGO” INTEGER NOT NULL,
“DESCRICAO” VARCHAR2(100),
“SERIAL” VARCHAR2(100),
“APELIDO” VARCHAR2(30),
“FABRICANTE” VARCHAR2(100),
“MARCA” VARCHAR2(100),
“MODELO” VARCHAR2(100),
“CENTRORESPONSAVEL” VARCHAR2(50),
“TENSSAO” VARCHAR2(30),
“POTENCIA” VARCHAR2(100),
“CORRENTE” VARCHAR2(100),
“VELOCIDADE” VARCHAR2(100),
“PRESSAO” VARCHAR2(100),
“TEMPERATURA” VARCHAR2(100),
“FREQUENCIA” VARCHAR2(100),
“TAG” VARCHAR2(200),
“DATAAQUISICAO” VARCHAR2(11),
“DATAFABRICACAO” VARCHAR2(11),
“DATAVENCIMENTO” VARCHAR2(11),
“DATAINSTALACAO” VARCHAR2(11),
“GARANTIA” VARCHAR2(11),
“VALOR” VARCHAR(100),
“AQUISICAO” VARCHAR2(100),
“SETOR” VARCHAR2(100),
“LOCALINSTALACAO” VARCHAR2(100),
“DATAATUAL” VARCHAR (10),
“DATACADASTROS” VARCHAR2(11),
“ESTADOEQUIPAMENTO” VARCHAR2(100),
“FORNECEDOR” VARCHAR2(100),
“CODFORNECEDOR” VARCHAR2(100),
“CLIENTE” VARCHAR2(100),
“SERIALPATRIMONIO” VARCHAR2(100),

constraint ChavePrimariaCodigo primary key(CODIGO)

);

create sequence “CODIGOS” minvalue 1 maxvalue 99999999999999 increment by 1

create or replace trigger “trigerCodigo”

before insert on “CADASTROS”

for each row

begin

select “CODIGOS”.nextval into:NEW.CODIGO

FROM DUAL;

end;

Só que as veses do nada ele cria um codigo com o valor bem maior tipo…
o ultimo registro tem o codigo 7 ai quando eu vou registrar um novo cadastro o proximo codigo fica 21 :S
entenderam? pq isso? nao deveria ser 1,2,3,4,5,6,7,8,9,10…21,22…?

1 Resposta

nel

Boa tarde.

Primeiro, com qual objetivo criaste uma trigger? Verifique se a sua trigger está agindo da forma correta e não está gerando uma nova sequence para cada registro que você insere, ou seja, está inserindo de forma inadequada.

Abraços.

Criado 6 de novembro de 2009
Ultima resposta 6 de nov. de 2009
Respostas 1
Participantes 2