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

Какво се случва със зависимите тригери, когато таблицата бъде премахната?

Таблицата е премахната, но е в кошчето , от който може да бъде възстановен с помощта на командите за ретроспекция (flashback ... before drop ]. Името се показва като BIN$... е малко подарък. Тригерът също се показва с BIN$... име, което показва, че то също е в кошчето, както и всички индекси също ще бъдат.

Можете да изпразните кошчето, за да премахнете завинаги обектите в него. За да премахнете таблица веднага, без да отива в кошчето, можете да добавите ключовата дума purge към drop команда, както е обяснено в документацията . Това също така незабавно ще премахне всички индекси и тригери.

Ако не беше изпусната автоматично, тогава тригерът така или иначе би бил без значение, тъй като не можете да изпълните никакъв DML на изпуснатата таблица, така че тя никога не може да се задейства. Това е, ако таблицата, срещу която тригерът е срещу е изпуснат. Тригерът ви е странен, вмъква се в същата таблица. Обикновено ще имате тригер на една таблица, вмъкнат във вашата резервна таблица (е, за едно използване на тригери). В такъв случай премахването на резервната таблица би анулирало спусъка на живата маса, но не го пусна. Само изпускането на масата на живо ще отмени тригера на масата на живо.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешен брой или типове аргументи в извикване на процедура с използване на zxJDBC

  2. Използване на SELECT UNION и връщане на изход от две колони от една таблица

  3. java.time.LocalDate.getDayOfWeek() до java.util.Calendar.get(DAY_OF_WEEK)

  4. Oracle SQL:променливи, използвани вместо имена на таблици

  5. Актуализирайте колоните с нулеви стойности