Oracle
 sql >> база данни >  >> RDS >> Oracle

Тригер, който вмъква ред в регистрационната таблица при вмъкване или изтриване в таблица с лица, компилирана с грешки

Тъй като не сте публикували грешката, трябва да позная. Предполагам, че проблемът е това name не е валиден идентификатор в този контекст. Трябва да посочите или :new.name или :old.name . :old.name ще бъде NULL на вмъкване докато :new.name ще бъде NULL при изтриване, така че предполагам, че искате нещо като

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. Oracle SQL:Разбиране на поведението на SYS_GUID(), когато присъства във вграден изглед?

  2. Трябва ли да използвам UCP на Oracle или HikariCP за модерно приложение?

  3. Как да вмъкнете дълъг низ в CLOB тип данни в Oracle

  4. java.sql.SQLException:невалидни аргументи в повикването

  5. Мнения относно удостоверяването между нивата на приложение и база данни