1
resposta

Duvida no ID

Meu ID, saiu como 61 na primeira linha inserida o que pode ser ?

grata e abcs

1 resposta

Bom dia Tatiani,

Pode ser que você esteja usando uma sequence para gerar os IDs da sua tabela. Ou ela foi usada 60 vezes e o próximo valor era o 61 ou ela foi criada com valor inicial 61 e, quando foi usá-la, você obteve esse resultado.

Para criar uma sequence com valor inicial zero:

CREATE SEQUENCE sequenceDaTati
 START WITH  0
 INCREMENT BY   1;

Suponha que tenhamos a seguinte tabela:

CREATE TABLE TABELA1 (
  id NUMBER(10) NOT NULL,
  descricao VARCHAR2(50) NOT NULL
);

Para vincular a sequence ao ID da tabela1, pode-se usar uma trigger:

CREATE OR REPLACE TRIGGER tabela1_trig
BEFORE INSERT ON tabela1
FOR EACH ROW

BEGIN
  SELECT sequenceDaTati.NEXTVAL
  INTO   :new.id
  FROM   dual;
END;

Avisa aí se deu certo.

Abraço.