Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zaktualizuj tę samą tabelę po wstawieniu wyzwalacza

Nie sądzę, że UPDATE jest dozwolona w SOME_TABLE, ponieważ obecnie jest mutowana.

Dlaczego nie umieścić go zaraz po instrukcji INSERT, która uruchomiła wyzwalacz w pierwszej kolejności?.

INSERT INTO SOME_TABLE ...
update Some_Table set status = 'Y' where id = (select max(id) id  from Some_Table where status = 'N'); --Update Table that SMS has been sent

Myślę, że byłoby to właściwe podejście, biorąc pod uwagę, że nie robisz niczego konkretnego w tej aktualizacji.

Jak wspomniałem w komentarzu, czy jest jakieś szczególne zastosowanie dla tej ostatniej instrukcji w AFTER INSERT cyngiel? Ma znaczenie w BEFORE INSERT wyzwalacz.

select 'Y' into :new.status from dual;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. utwórz tabelę na podstawie typu zdefiniowanego przez użytkownika

  2. Radzenie sobie z dużymi danymi JSON zwracanymi przez Web API

  3. Znajdź zakresy z serii liczb w SQL/Oracle

  4. Oracle - w tym zakresie nie istnieje funkcja o nazwie X

  5. Upłynął limit czasu żądania połączenia ODP.NET