oracle触发器案例
时间: 2023-07-06 08:41:16 浏览: 95
oracle触发器实例
以下是一个简单的 Oracle 触发器案例,用于在向员工表插入新行时自动更新部门表中的员工数目:
```sql
CREATE OR REPLACE TRIGGER update_dept_employee_count
AFTER INSERT ON employees
FOR EACH ROW
BEGIN
UPDATE departments
SET employee_count = employee_count + 1
WHERE department_id = :new.department_id;
END;
```
该触发器被命名为 `update_dept_employee_count`,在每次向 `employees` 表插入新行时触发。在触发器内部,我们使用 `UPDATE` 语句更新 `departments` 表中的 `employee_count` 字段。该语句使用 `:new` 来引用将要插入的新行,并根据其部门 ID 更新相应的部门记录。
需要注意的是,这是一个 `AFTER INSERT` 触发器,这意味着触发器代码将在新行插入后执行,而不是在插入之前。此外,这是一个 `FOR EACH ROW` 触发器,这意味着触发器代码将为每个插入的新行执行一次。
阅读全文