2008-04-16

A questão mais usual sobre Oracle

A questão que me estão muitas vezes a perguntar quem toma conhecimento com a DB Oracle é:
Como criar uma coluna "autonumber"?
Vou então responder....

1. Criar uma sequência

create sequence <tabela>_seq;



2. Criar um trigger na tabela

(versão Oracle inferior à 11g)

CREATE OR REPLACE TRIGGER <tabela>_I
BEFORE
INSERT
ON <tabela>
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
begin
select <tabela>_seq.nextval
into :new.<coluna> from dual;
END;


se versao =11g ou superior

CREATE OR REPLACE TRIGGER <tabela>_I
BEFORE
INSERT
ON <tabela>
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
begin
:new.<coluna>:=<tabela>_seq.nextval;
END;



Actualização: este post foi traduzido para inglês e actualizado

No comments:

Post a Comment

Os comentários são moderados.
The comments are moderated.