posted 18 years ago
HELLO,
WRITE A TRIGGER AS GIVEN BELOW, WHICH WILL INSERT A NEW ROW IF , ITS FULFILLING THE CRITERIA FOR SALARY VALUE, OTHERWISE WILL RAISE AN ERROR & WILL CALL A PROCEDURE WHICH WILL ROLLBACK THE JOB.
------------------TRIGGER--------------------------------------------
CREATE OR REPLACE TRIGGER triggername BEFORE INSERT ON yourtablename
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
DECLARE
BEGIN
IF :NEW.SALARY < 1000 THEN
RAISE_APPLICATION_ERROR('SORRY U CANT INSERT THIS ROW');
ROLLPROC;
END IF;
END;
/
--------------------------------------------------------------------------
--------------------PROCEDURE---------------------------------------------
CREATE OR REPLACE PROCEDURE ROLLPROC IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
ROLLBACK;
DBMS_OUTPUT.PUT_LINE('ROLLBACK DONE');
END;
/
---------------------------------------------------------------------------
TRY TO WORK WITH THIS, YOUR PROBLEM WILL DEFINATELY GET SOLVED.
NICE TIME.