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

Wyzwalacze prewencyjne

Masz datę urodzenia. Musisz więc ustalić, że data DoB jest co najmniej szesnaście lat przed dniem dzisiejszym. Można to zrobić na wiele różnych sposobów; tutaj jest jeden używający literału interwałowego.

create or replace trigger students_biur
     before insert or update on students for each row 
begin
    if (:new.student_birthdate + INTERVAL '15' YEAR ) < sysdate
    then 
         raise_application_error( -20000, 'This student is too young be registered.');     
    end if;
end; 

Ten wyzwalacz sprawdza również dostępność aktualizacji, aby zapobiec kolejnym zmianom unieważniającym ucznia.

Nazwa wyzwalacza students_biur to tylko konwencja, której używam:nazwa tabeli z przyrostkiem wskazującym *B*przed *I*wstaw *U*pdate dla każdego *R*ow.

RAISE_APPLICATION_ERROR to standardowa procedura zgłaszania wyjątków zdefiniowanych przez użytkownika za pomocą komunikatu. Dowiedz się więcej.

Oracle rezerwuje zakres od -20999 do -20000 dla błędów zdefiniowanych przez użytkownika; każda inna liczba może kolidować z wyjątkiem określonym przez wyrocznię.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Twórz i konfiguruj Oracle Linked Server w SQL Server

  2. Jak programowo wygenerować DDL z bazy danych Oracle?

  3. Znajdowanie przyczyny błędu zakleszczenia w pliku śledzenia Oracle

  4. Jak tworzyć procedury składowane PL/SQL z parametrami w bazie danych Oracle

  5. Czym jest kursor w wyroczni?