Task: I want to insert TAX column value and update the HIGHEST column value as per condition which is mention in code
CREATE TABLE RSUOM (EMPID NUMBER,EMPNAME VARCHAR2(50), SALARY NUMBER, TAX NUMBER, PERCENT_TAX NUMBER, HIGHEST VARCHAR2(3));
INSERT INTO RSUOMS (EMPID, EMPNAME, SALARY,PERCENT_TAX ) VALUES (11,’RAM’, 10000, 10);
INSERT INTO RSUOMS (EMPID, EMPNAME, SALARY, PERCENT_TAX ) VALUES (12,’RAMA’,20000, 10);
SELECT * FROM RSUOMS ;
CREATE OR REPLACE TRIGGER RSUOM1_TRIGGER
AFTER INSERT ON RSUOM1
DECLARE
MAX_TAX NUMBER;
BEGIN
UPDATE RSUOM1
SET TAX = SALARY * PERCENT_TAX / 100;
SELECT MAX(TAX) INTO MAX_TAX FROM RSUOM1;
UPDATE RSUOM1
SET HIGHEST = CASE
WHEN TAX = MAX_TAX THEN ‘YES’
ELSE ‘NO’
END;
END;
/
ERROR:
ORA-00036: MAXIMUM NUMBER OF RECURSIVE SQL LEVELS (50) EXCEEDED
ORA-04088: ERROR DURING EXECUTION OF TRIGGER
INSERT INTO RSUOMS (EMPID, EMPNAME, SALARY) VALUES (13,’ANKIT’,30000);
SELECT * FROM RSUOMS ;
ERROR:
ORA-00036: MAXIMUM NUMBER OF RECURSIVE SQL LEVELS (50) EXCEEDED
ORA-04088: ERROR DURING EXECUTION OF TRIGGER
CAN ANYONE TELL ME WHERE IS THE MISTAKE OR HOW I CAN RESOLVE THE ERROR?