Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tạo Trigger chạy trên hai bảng

Điều này hoạt động hoàn hảo.

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. Cách chèn hàng loạt dữ liệu từ con trỏ tham chiếu vào bảng tạm thời trong PL / SQL

  2. Làm cách nào để lấy id đã tạo từ một hàng được chèn bằng ExecuteScalar?

  3. Không phải lỗi biểu thức GROUP BY

  4. Nối các giá trị từ nhiều cột trong Oracle

  5. 7 điều cần biết về các ngăn trên Cơ sở hạ tầng đám mây Oracle