【发布时间】:2015-08-14 04:40:06
【问题描述】:
假设我有以下架构:
DEPARTMENT (DepartmentName, BudgetCode, OfficeNumber, Phone)
EMPLOYEE (EmployeeNumber, FirstName, LastName, Department, Phone, Email)
现在我需要编写一个触发器来强制执行员工不能更改其部门的约束。
CREATE OR REPLACE TRIGGER department_fixed
BEFORE UPDATE ON EMPLOYEE
FOR EACH ROW
WHEN (old.Department is not null)
BEGIN
dbms_output.put('You can not change department');
END;
/
这是编写这个 oracle 触发器的正确方法还是遗漏了什么? 如果部门只有一名员工,请帮助我编写触发器以允许删除部门。将最后一名员工分配到人力资源部门。
【问题讨论】:
-
这是怎么失败的?你试过了吗?此外,dbms_output 并不是通知用户他做错了什么的常规方式。
-
@tvm 这就是我要问的,什么是正确的方法。第二个触发是什么?