Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/01/2012, 00:02
neo_angel_is
 
Fecha de Ingreso: enero-2012
Mensajes: 1
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Trigger En Oracle

HEY!! OIE XFA UNA AYUDA!!!!!! NOSE MUCHO DE ORACLE LO ACABO DE INSTALAR Y TNGO UN TRABAJO QUE HACER QU ES ALGO PARECIDO AL TUYO SE TRATA DDE VALIDAR SI LA NOTA ESTA ENTRE 0 Y 20 E INGRESARLA CASO CONTRARIO MUESTRE UN MENSAJE DE ERROR Y NO LA INGRESE LO ISE EN SQL PERO EN ORACLE TNGO DIFICUKTADES... NOSE SI M PODRIAS AYUDAR
mi codigo asta el moemnto es este

CREATE TABLE TALUMNO
(
CodAlumno varchar(4)primary key,
NomAlumno varchar(50),
DirAlumno varchar(50)
)
CREATE TABLE TASIGNATURA
(
CodAsig varchar(4)primary key,
NomAsi varchar(50),
creditos int
)
CREATE TABLE TNOTA
(
CodNota varchar(4)primary key,
Nota decimal(10,2),
Observacion varchar(30),
CodAsig varchar(4),foreign key (CodAsig) references TASIGNATURA
)

BEGIN
INSERT INTO TALUMNO VALUES('A001','JUAN PEREZ','URB LAS LOMAS');
INSERT INTO TALUMNO VALUES('A002','ANGEL SOCUALAYA MOLINA','SAN SEBASTIAN D9B');
INSERT INTO TALUMNO VALUES('A003','CABALLO PRIMO TIRO AL BLANCO','HIPRODOMO DE MONTERICO');
END;
BEGIN
INSERT INTO TASIGNATURA VALUES('AS01','LABORATORIO DE BD 2',4);
INSERT INTO TASIGNATURA VALUES('AS02','LABORATORIO DE PROGRAMACION',5);
INSERT INTO TASIGNATURA VALUES('AS03','INGENIERIA DE LA INFORMACION',4);
END;
SELECT *FROM TALUMNO
SELECT *FROM TASIGNATURA
SELECT *FROM TNOTA


CREATE OR REPLACE TRIGGER TR_VALIDA
AFTER INSERT OR UPDATE ON TNOTA
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_nota decimal(10,2);
v_obs varchar(30);
BEGIN
IF INSERTING THEN
IF :new.Nota is not null THEN
v_nota := (:new.Nota);
IF v_nota >= 21 THEN
v_obs :='NOTA INVALIDA';
dbms_output.put_line( v_obs|| 'No se puede ingresar porque la nota es invalida');
ELSIF v_nota < 21 THEN
v_obs:='NOTA VALIDA';
INSERT INTO TNOTA VALUES (:NEW.CodNota,v_nota,v_obs,:NEW.CodAsig);
END IF;
END IF;
END IF;
end ;

me sale el error ORA-04098: el disparador 'BDUNIVERSIDAD.VALIDA' no es válido y ha fallado al revalidar
ni ideaaaaaa.... desesperacion!!!
xfaaa
si podrias responderme seria genial ami correo aunq sea [email protected]
gracias