| ||||||||||||||||||||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
ORA-04091: error
Hi all,
im geting ORA-04091: error when using a trigger to subtract ncopies values of table (rental ; after i insert a NEW record in it ) from cno value of table(copies) to give me the no of copies of a book remaining. can someone help me out with this? my tables and code is as folllows: CID CNO BOOK ----- ---------- -------------------- A1 5 BOOK1 B1 10 BOOK2 rental; Name Null? Type ------------------------------- --- RID NOT NULL VARCHAR2(5) CID VARCHAR2(5) NCOPIES NUMBER(2) 1 CREATE OR REPLACE TRIGGER NO_COPIES 2 AFTER INSERT ON RENTAL 3 FOR EACH ROW 4 DECLARE 5 K VARCHAR2(5); 6 K1 VARCHAR2(5); 7 BEGIN 8 SELECT CNO INTO K FROM COPIES WHERE CID = 9 (SELECT CID FROM RENTAL WHERE RID = :NEW.RID); 10 SELECT NCOPIES INTO K1 FROM RENTAL WHERE RID = :NEW.RID; 12 IF K1 < K THEN 13 UPDATE COPIES SET CNO = K-K1 14 WHERE CID = 15 (SELECT CID FROM RENTAL WHERE RID = :NEW.RID); 16 END IF; 17* END; 18 / Trigger created. SQL> INSERT INTO RENTAL VALUES ('R1','A1',1); INSERT INTO RENTAL VALUES ('R1','A1',1) * ERROR at line 1: ORA-04091: table.RENTAL is mutating, trigger/function may not see it ORA-06512: at NO_COPIES", line 5 any help shall be much appreciated!! |
![]() |
| Viewing: Tutorialized Forums > Databases > Oracle > ORA-04091: error |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|
|