- Creación de una tabla Primero, debemos tener la tabla con los campos para poder crear su trigger más adelante. Para crear la tabla, lo hacemos desde la interfaz o bien, de la siguiente manera con comandos:
CREATE TABLE Animales
(id_animal number primary key,
nombre VARCHAR2(25) NOT NULL,
color VARCHAR2(25) NOT NULL);
- Creación de una secuencia Una vez la tabla esté lista, le indicamos con una secuencia, que inicie en 1 y se incremente en 1 cada vez que se vaya a insertar un dato:
CREATE SEQUENCE canimales
START WITH 1
INCREMENT BY 1;
- Creación del trigger Para que el campo 'id_animal' se autoincremente de una manera elegante, utilizaremos el trigger para que se encargue de obtener e insertar el valor de la secuencia automáticamente. La manera correcta de crear uno, es la siguiente:
CREATE TRIGGER TRIG_ANIMALES
BEFORE INSERT ON Animales
FOR EACH ROW
BEGIN
SELECT canimales.NEXTVAL INTO :NEW.id_animal FROM DUAL;
END;
Este trigger lo podemos encontrar en la carpeta 'Disparadores' de las propiedades de la tabla:
- Inserción de datos Listo, ahora podemos insertar datos y cada uno tendrá un id único gracias al trigger:
INSERT INTO Animales (nombre, color)
VALUES ('Caballo', 'Blanco');
Top comments (0)