Campo autonumérico en oracle

Para definir un campo auto numérico en oracle, solamente es cuestion de crear una secuencia y el trigger y listo.
 
en este caso mi secuencia se llama SEC_ESTUDIOSPERSONA y la tabla es ESTUDIOS_PERSONA que se encuentra en el esquema HOJA_VIDA.
 
 
La estructura de la tabla:
ID_CONSECUTIVO   NUMBER(10,0)
NRO_IDEN_PERSONA   NUMBER(11,0)
NRO_TESTUDIO   NUMBER(3,0)
SEMESTRES_APROBADOS   NUMBER(2,0)
IND_GRADUADO   VARCHAR2(2 BYTE)
....
 
la secuencia:
CREATE sequence SEC_ESTUDIOSPERSONA;
el trigger:
 
CREATE OR REPLACE TRIGGER "HOJA_VIDA"."TR0_INC_ESTUDIOSPERSONA"
Before Insert
  on ESTUDIOS_PERSONA
for each row
declare secuencia number;
begin
   If INSERTING then
      SELECT SEC_ESTUDIOSPERSONA.NEXTVAL INTO secuencia FROM DUAL;
      :NEW.ID_CONSECUTIVO := SECUENCIA;     
   end if;
END;
ALTER TRIGGER "HOJA_VIDA"."TR0_INC_ESTUDIOSPERSONA" ENABLE
 
solamente tendras que hacer el insert asi:
insert into HOJA_VIDA.ESTUDIOS_PERSONA  (NRO_IDEN_PERSONA, NRO_TESTUDIO, ...)values (7777, 5)
es decir no tienes que incluir el campo id_consecutivo en la sentencia insert, éste se autogenerará .
espero os ayude
saludos.
 

Average: 4.3 (3 votes)
Otros links Externos relacionados con este tema:

muy bien script----una pregunta amigo

hola q tal amigo...t felicito por ese script es muy interesante...pero mi pergunta o ayuda seria como lo hago para ese mismo script poder colocarle en un form..y asi mne genere un codigo autonumerico aleatorio....spro me puedas ayudar..y gracias de antemano