【发布时间】:2021-02-02 14:09:44
【问题描述】:
到目前为止我做了什么
create or replace trigger trigger_position
before insert or update of education
on JobApplication
for each row
begin
update education_tracker
set total_application = total_application + 1
where JobApplication.education = education_tracker.education_level;
end;
表格:
create table education_tracker(
education_level varchar2(20),
total_application number
);
create table JobApplication(
job_id number,
applicant_name varchar2(100),
address varchar2(120),
postcode varchar2(8),
email varchar2(30),
mobile varchar2(11),
marital varchar2(20),
education varchar2(20),
position varchar2(100)
);
我认为问题出在 where 语句中,但我不确定到底是什么问题
【问题讨论】:
-
除了直接问题的技术答案之外,我建议不要尝试这样做 - 尝试通过简单地选择基数来不断更新可以/应该在查询时计算的计数器数据。这不是“是否”存储的计算与基础数据不同步的问题,而是“何时”的问题。
-
出于好奇,将
total_application定义为视图中的计算列有什么问题?
标签: sql oracle oracle-sqldeveloper