Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/09/2012, 15:56
sharton
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Exclamación Problema al Crear un Trigger

Hola Buenas tardes a todos!

Quisiera ver si puedes ayudarme con lo siguiente:

Tengo mi base de datos Oracle una tabla llamada Alumnos, donde tiene 9 campos pero quisiera que solo la encargada llene 7 registros mediante un formulario(pero ese no es el problema) de las cuales esos 2 campos restantes quiero llenarlos con un trigger; les explico acá esta mi tabla:

CREATE TABLE ALUMNOS
(
ID_ALUMNO CHAR(3) PRIMARY KEY,
NOMBRE VARCHAR2(50) NOT NULL,
APELLIDO VARCHAR2(50) NOT NULL,
SEXO VARCHAR2(1) NOT NULL,
F_NAC DATE NOT NULL,
PAGO NUMBER NOT NULL,
CANT_CUR_DES NUMBER NOT NULL,
USUARIO VARCHAR2(30),
FECHA DATE
)

pues esos 2 últimos campos, que es usuario y fecha, se debiera llenar al registrar un nuevo registro mediante un trigger, la cual he intentado de varias formas y no me sale y me gustaría bastante que me ayuden por favor, ya que tengo solo hasta el domingo, para solucionarlo.

CREATE OR REPLACE TRIGGER TR_NAME
AFTER INSERT ON ALUMNOS
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
UPDATE ALUMNOS
SET ID_ALUMNO=:OLD.ID_ALUMNO,
NOMBRE=:OLD.NOMBRE,
APELLIDO=:OLD.APELLIDO,
SEXO=:OLD.SEXO,
F_NAC=:OLD.F_NAC,
PAGO=:OLD.PAGO,
CANT_CUR_DES=:OLD.CANT_CUR_DES,
:NEW.USUARIO=USER,
:NEW.FECHA=SYSDATE;
END;

la cual al insertar debiera, activarse ese trigger para aumentar esos 2 últimos datos, y así sabre, quien lo registro y la fecha y hora en que lo hizo!

INSERT INTO ALUMNOS VALUES ('A01','JUNIOR','CÉSPEDES','M','22-08-1987','180','1','','');