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

Pemicu yang menyisipkan baris ke tabel log saat menyisipkan atau menghapus di tabel orang yang dikompilasi dengan kesalahan

Karena Anda tidak memposting kesalahan, saya harus menebaknya. Dugaan saya adalah bahwa masalahnya adalah name bukan pengidentifikasi yang valid dalam konteks ini. Anda perlu merujuk ke :new.name atau :old.name . :old.name akan menjadi NULL pada sisipan while :new.name akan menjadi NULL pada penghapusan jadi saya berasumsi Anda menginginkan sesuatu seperti

CREATE OR REPLACE TRIGGER add_del
  BEFORE INSERT OR DELETE ON persons
  FOR EACH ROW
BEGIN
  IF INSERTING THEN
    INSERT INTO logs (who, what) VALUES (:new.name, 'Insert into persons');
  ELSE
    INSERT INTO logs (who, what) VALUES (:old.name, 'Delete from persons');
  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. Kompatibilitas Oracle 19c dengan jdk7

  2. Bagaimana cara mendeklarasikan variabel angka di mana saya dapat menyimpan jumlah tabel di loop saya

  3. Memuat data dari file teks ke tabel di oracle

  4. Hibernasi di Oracle:memetakan properti String ke kolom CLOB

  5. Presisi JOOQ Oracle Number dan pemetaan angka java