Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ORA-04091:tabel xx_xx bermutasi, pemicu/fungsi mungkin tidak melihatnya

Anda tidak dapat membuat kueri tabel mutasi di pemicu.
Lihat ini:https://docs.Oracle.com/cd/B19306_01/appdev.102/b14251/adfns_triggers.htm

Coba kode ini sebagai gantinya:

create or replace 
TRIGGER log_changes 
  AFTER INSERT OR UPDATE OR DELETE
  ON passengerlist1
  FOR EACH ROW

DECLARE
 t_name varchar2(255);
 t_surname varchar2(255);
BEGIN
   IF DELETING THEN
    SELECT PERSON1.GIVENNAME, PERSON1.FAMILYNAME INTO T_NAME,  T_SURNAME
    FROM PERSON1
    WHERE PERSON1.PERSONID = :OLD.PERSONID;

    INSERT INTO LOGS VALUES (T_NAME, T_SURNAME, :OLD.FLIGHTID, SYSDATE);
   END IF;

   IF UPDATING OR INSERTING THEN

     SELECT PERSON1.GIVENNAME,  PERSON1.FAMILYNAME  INTO T_NAME, T_SURNAME 
     FROM PERSON1 
     WHERE PERSON1.PERSONID = :NEW.PERSONID;

     INSERT INTO LOGS VALUES (T_NAME, T_SURNAME, :NEW.FLIGHTID, SYSDATE);
   END IF;
END;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pencadangan basis data Oracle:Jenis pencadangan dan strategi pencadangan

  2. Masalah penggabungan

  3. Apa perbedaan antara 'tidak ada' dan 'tidak ada'?

  4. SQL -- Mengisi Tanggal yang tidak ada hasilnya

  5. FROM kata kunci tidak ditemukan di tempat yang diharapkan (Oracle SQL)