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

мутиране, тригер/функция може да не го види - грешка по време на изпълнение на тригер

Изключението „таблицата се променя“ се повдига, когато тригер, който е дефиниран като FOR EACH ROW, се опитва да получи достъп до таблицата, за която е задействан. Том Кайт е написал страхотно ръководство за причините и разрешаването на това изключение тук .

Във вашия публикуван пример нямате ЗА ВСЕКИ РЕД и затова не бих очаквал изключението да бъде повдигнато. Обикновено трябва само да използвате тригери FOR EACH ROW в случаите, когато е необходимо да получите достъп до стойностите :OLD или :NEW на всеки ред, което не сте.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pl/sql - Използване на динамична заявка в съхранена процедура

  2. Актуализирайте колона от същата таблица, ако има дублиращи се записи

  3. Как да извлека BLOB данни от Oracle Client с помощта на Oledb драйвер във Vb.Net?

  4. намерете изминалото време между две дати в oracle sql

  5. Моделиране на релси:конвертиране на HABTM в has_many :through