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

Създаване на тригер, който работи на две таблици

Това работи перфектно.

CREATE OR REPLACE TRIGGER checkDuration
  BEFORE INSERT OR UPDATE on offering
  FOR EACH ROW
DECLARE
  isFound NUMBER;
BEGIN
  SELECT 1 INTO isFound FROM DUAL WHERE EXISTS (
    SELECT * FROM Course c
    WHERE c.courseId = :new.courseId AND c.duration = 5);
  IF EXTRACT(MONTH FROM :new.startDate) = 12 
    THEN RAISE_APPLICATION_ERROR(-20001, 'Courses of five days duration cannot be run in December');
  END IF;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    NULL;
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Материализирани изгледи - Идентифициране на последното опресняване

  2. Трябва ли да използвам UCP на Oracle или HikariCP за модерно приложение?

  3. Oracle 11g SQL - Замяна на NULLS с нула, когато заявката има PIVOT

  4. Присъединяване към колони с разделени низове в Oracle

  5. Oracle JDBC:underflow в двойно