시스템 이벤트에 대한 트리거는 데이터베이스 수준 또는 스키마 수준에서 정의할 수 있습니다. DBMS_AQ 패키지는 데이터베이스 트리거를 사용하여 특정 작업을 수행하는 한 예입니다. 예를 들어 데이터베이스 종료 트리거는 데이터베이스 수준에서 정의됩니다. 더 복잡한 트리거 구현을 작성하는 것은 독자가 :) 다양한 유형의 트리거에 대한 설명과 Oracle 데이터베이스 응용 프로그램 개발자 가이드에 대한 오라클 데이터베이스 개념 – 이벤트 게시를 위한 트리거 DML 트리거를 디자인하는 방법에 대한 자세한 내용은 테이블과 연결됩니다. 지정된 DML 작업이 발생하는 각 행에 대해 트리거가 트리거되기 전 또는 후일 수 있습니다. 뷰에서 트리거 대신 DML 문과 관련된 이벤트를 게시할 수 없으며 대신 트리거 대신 트리거 대신 발생하는 뷰의 기본 테이블에서 DML 작업에 대한 이전 또는 이후 트리거를 사용하여 이벤트를 게시할 수 있습니다. 문 트리거는 트리거링 문이 영향을 받는 행이 없는 경우에도 트리거링 문이 영향을 받는 테이블의 행 수에 관계없이 트리거문을 대신하여 한 번 발생합니다. 예를 들어 DELETE 문이 테이블에서 여러 행을 삭제하는 경우 문 수준 DELETE 트리거는 한 번만 발생합니다. AFTER 트리거만 로그온, 시작, 서버 오류, 일시 중단 및 DB_ROLE_CHANGE와 관련이 있습니다. CREATE 및 CREATE 후 전에 는 데이터베이스 또는 스키마에서 스키마 개체를 만들 때 트리거됩니다. 시작 후 및 종료 전에 트리거는 데이터베이스에만 적용됩니다.

트리거에서 SQL 문을 발급하거나 프로시저 또는 함수를 호출하는 경우 트리거 소유자는 이러한 작업을 수행하는 데 필요한 권한이 있어야 합니다. 이러한 권한은 역할을 통해 획득하는 대신 소유자에게 직접 부여되어야 합니다. 데이터 무결성의 대부분의 측면을 선언적 무결성 제약 조건을 사용하여 정의하고 적용할 수 있지만 트리거는 선언적 무결성 제약 조건을 사용하여 정의할 수 없는 복잡한 비즈니스 제약 조건을 적용하는 데 사용할 수 있습니다. 예를 들어 트리거를 사용하여 적용할 수 있습니다. Oracle Database PL/SQL 패키지 및 유형 참조 트리거링 명령문 또는 트리거 내의 문으로 인해 하나 이상의 무결성 제약 조건을 검사할 수 있습니다. 또한 트리거에는 다른 트리거가 발생하게 하는 문(계단식 트리거)이 포함될 수 있습니다.