>데이터 베이스 >Oracle >Oracle 데이터베이스 트리거를 활성화하는 방법

Oracle 데이터베이스 트리거를 활성화하는 방법

下次还敢
下次还敢원래의
2024-04-07 16:42:25816검색

Oracle 데이터베이스 트리거는 DDL(예: CREATE, ALTER) 또는 DML(예: INSERT, UPDATE, DELETE) 작업에서 활성화됩니다. DDL 작업은 기본 테이블에 정의된 트리거를 활성화합니다. DML 작업은 기본 테이블에 정의된 트리거를 활성화합니다.

Oracle 데이터베이스 트리거를 활성화하는 방법

Oracle 데이터베이스 트리거 활성화

트리거 활성화 방법

Oracle 데이터베이스 트리거는 다음 두 가지 상황에서 자동으로 활성화될 수 있습니다.

  1. DDL 작업: 기본 테이블을 처리할 때 트리거 테이블에 정의된 내용은 CREATE, ALTER, TRUNCATE 등의 DDL 작업이 수행될 때 활성화됩니다.
  2. DML 작업: INSERT, UPDATE, DELETE 등과 같은 DML 작업이 기본 테이블에서 수행되면 테이블에 정의된 트리거가 활성화됩니다.

트리거 활성화 예제

트리거 활성화를 설명하기 위해 테이블에 정의된 트리거와 함께 간단한 예제 테이블을 만듭니다.

<code class="sql">-- 创建示例表
CREATE TABLE employees (
  id NUMBER PRIMARY KEY,
  name VARCHAR2(50),
  salary NUMBER
);

-- 定义触发器
CREATE TRIGGER salary_check BEFORE UPDATE ON employees
FOR EACH ROW
BEGIN
  IF NEW.salary < 0 THEN
    RAISE_APPLICATION_ERROR(-20001, 'Salary cannot be negative');
  END IF;
END;</code>

이제 DML 작업을 사용하여 직원 테이블을 업데이트하려고 하면 , 트리거가 활성화되고 실행됩니다.

<code class="sql">-- 尝试更新员工的薪水为负值
UPDATE employees SET salary = -100 WHERE id = 1;

-- 触发器将引发错误并回滚操作
ORA-20001: Salary cannot be negative</code>

주의 사항

  • 각 테이블의 트리거는 특정 DML 또는 DDL 작업에서만 활성화됩니다.
  • 트리거는 BEFORE(작업이 실행되기 전) 또는 AFTER(작업이 실행된 후)에 활성화되도록 정의할 수 있습니다.
  • 트리거는 INSERT, UPDATE, DELETE 또는 DDL 작업 후에 활성화될 수 있습니다.
  • 트리거를 사용하면 무결성 제약 조건을 적용하고 비즈니스 논리를 실행하거나 테이블 변경 사항을 기록할 수 있습니다.

위 내용은 Oracle 데이터베이스 트리거를 활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.