【发布时间】:2015-02-14 21:58:48
【问题描述】:
我必须创建一个触发器来填充序列中的主键字段 user_id。
所以我先这样做了:
Create sequence user_seq;
然后我创建了触发器。我还必须创建函数来检查模式 system_users 中表 users 的 emp_id 中的值是否存在于模式 HRM_REPO 的表 employees 中。这部分在 cmets 中是因为它引起了重大问题。
create or replace trigger user_trig_bi
Before insert on system_users.users
for each row
begin
select user_seq.nextval
into new.user_ID
From dual;
/*where exists (SELECT emp_id
from hrm_repo.employees
where hrm_repo.employees.emp_id = system_users.users.emp_id);*/
END;
我收到必须定义 new.user_id 的错误。 如果我确实运行 where exists 部分,我会收到 system_users.users.emp_id 是无效标识符的通知。
请帮帮我!
问候,
文尼
【问题讨论】:
标签: oracle plsql triggers insert sequence