Hacer un trigger
Como puedo hacer un trigger que me inserte numeros consecutivos en una columna, no puedo hacerlo con una secuencia tiene que ser con un trigger.
por ej.:
Si tengo la tabla con los campos
codigo "number" nombre "varchar2"
como seria el insert una vez echo el trigger ya que en codigo no deberia poner nada ya que este me lo genera el trigger.
Si me podrian dar el codigo seria bueno, ya que estoy perdido con los triggers.
Muchas gracias
por ej.:
Si tengo la tabla con los campos
codigo "number" nombre "varchar2"
como seria el insert una vez echo el trigger ya que en codigo no deberia poner nada ya que este me lo genera el trigger.
Si me podrian dar el codigo seria bueno, ya que estoy perdido con los triggers.
Muchas gracias
Compañero, estas perdido en todo.
Un trigger no es mas que pl-sql, lo que programes en pl-sql es valido para un trigger, no hay ningún misterio.
Te lo voy a hacer yo, pero se utiliza una secuencia. Si no te sirve, estrujate un poco el coco.
CREATE OR REPLACE TRIGGER MI_TRIGGER
BEFORE INSERT ON MI_TABLA
FOR EACH ROW
DECLARE
V_CODIGO NUMBER;
BEGIN
SELECT SECUENCIA.NEXTVAL
INTO V_CODIGO
FROM DUAL;
:NEW.CODIGO := V_CODIGO;
END;
Un trigger no es mas que pl-sql, lo que programes en pl-sql es valido para un trigger, no hay ningún misterio.
Te lo voy a hacer yo, pero se utiliza una secuencia. Si no te sirve, estrujate un poco el coco.
CREATE OR REPLACE TRIGGER MI_TRIGGER
BEFORE INSERT ON MI_TABLA
FOR EACH ROW
DECLARE
V_CODIGO NUMBER;
BEGIN
SELECT SECUENCIA.NEXTVAL
INTO V_CODIGO
FROM DUAL;
:NEW.CODIGO := V_CODIGO;
END;
