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

Kesalahan pemicu SQL - pemicu tidak valid

Anda dapat menggunakan show errors setelah Anda melihat compiled with warnings , atau kueri user_errors lihat untuk melihat apa yang salah nanti.

Satu hal yang jelas adalah Anda belum mengawali old referensi dengan titik dua:

CREATE or REPLACE TRIGGER BeforeUpdateReport 
BEFORE 
UPDATE ON REPORT 
FOR EACH ROW 
Begin 
   INSERT INTO reportUpdate 
   Values(:old.ID,sysdate); 
END;
/

Sebaiknya tentukan juga bidang tabel target di insert pernyataan:

   INSERT INTO reportUpdate (report_id, updatedate)
   Values(:old.ID,sysdate); 

Tapi Anda punya update_date didefinisikan dalam skrip pembuatan tabel Anda sebagai number(32) , yang tidak masuk akal. Seperti yang ditunjukkan oleh @realspirituals, seharusnya:

CREATE TABLE reportUpdate (report_id number, updatedate date);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cx_Oracle:Menggunakan tipe PL/SQL RECORD sebagai argumen untuk prosedur tersimpan

  2. Kursor untuk loop di Oracle

  3. Oracle menemukan kendala

  4. Meminta beberapa kali di Oracle menggunakan Perl hanya mengembalikan kueri pertama

  5. Database Manajer Paket GI 19c RPM