Campo Autoincremental en Oracle

Generalmente con el uso de tablas en oracle, se vuelve tedioso la idea de tener q ingresar el id en una tabla; para esto se pueden crear sequencias autoincrementales, donde no se deba de ingresar los id’s o el campo que se desee; esta vez trabajo con triggers, y acabo de aprender a usarlos!🙂 Y lo posteo:

Primero creamos la tabla:

CREATE TABLE CURSO(

ID_CURSO NUMBER PRIMARY KEY,

NOMBRE_CURSO VARCHAR2(255)

);

Luego se tiene que crear una sequencia que es la que nos va servir para el  incremento de 1 en 1.

CREATE SEQUENCE SEQ_CURSO

START WITH 1

INCREMENT BY 1

NOMAXVALUE;

Y por ultimo creamos un trigger que se encarga de agregar la sequencia en el campo especificado, donde se quiera hacer el autoincremento; esto se hará cada vez que se inserte una columna.

CREATE TRIGGER TRIG_CURSO

BEFORE INSERT ON CURSO

FOR EACH ROW

BEGIN

SELECT SEQ_CURSO.NEXTVAL INTO :NEW.ID_CURSO FROM DUAL;

END;

Y eso est todo! cuando ingresemos un nuevo campo a esta tabla no hay necesidad de ingresar el Id, ya q se incrementará conforme insertemos columnas!  ;)

4 comentarios (+¿añadir los tuyos?)

  1. Daniel
    May 09, 2012 @ 14:58:11

    muy bueno felicidades

    Responder

  2. Randy Beltran (@Randyabm)
    Nov 11, 2012 @ 13:53:08

    Gracias Me sirvio mucho

    Responder

  3. Daniel Kennedy
    Jun 26, 2013 @ 10:15:05

    Responder

  4. Marco Antonio Gómez Jiménez
    Jul 22, 2014 @ 09:02:35

    Excelente aporte, me sirvio mucho!!! Saludos

    Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: