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

Задействания за превенция

Имате дата на раждане. Така че трябва да определите, че DoB е поне шестнадесет години преди днес. Има различни начини да направите това; ето един, използващ интервален литерал.

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; 

Този тригер също така проверява за актуализации, за да предотврати последващи промени, които невалидират ученик.

Името на тригера students_biur е просто конвенция, която използвам:името на таблицата с суфикс, указващ *B*преди *I*nsert *U*pdate за всеки *R*ow.

RAISE_APPLICATION_ERROR е стандартна процедура за хвърляне на потребителски дефинирани изключения със съобщение. Открийте повече.

Oracle запазва диапазона от -20999 до -20000 за дефинирани от потребителя грешки; всяко друго число може да се сблъска с дефинирано от оракул изключение.




  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 в работен лист на Excel

  2. Въведение в PL/SQL пакетите в Oracle Database

  3. Получаване на допълнителни редове - След присъединяване към 3-те маси с помощта на Left Join

  4. Как да използвате аналитични функции в oracle (над разделяне по ключова дума)

  5. Автоинкрементът на oracle с последователност и тригер не работи правилно