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.
- Inicie sesión o regístrese para enviar comentarios













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