如果我有以下表格:
User(user_id, name)
Job(job_id,...)
Authorised(job_id,user_id) //a job is authorised to be done by 1 or more users
Work(user_id, job_id) //user working on a job
问题是:对于Work
表,我希望有一个约束,即对于所有条目,应该授权用户处理该作业。这样做是否可行(因为它还需要查看Authroised
表?
答案 0 :(得分:1)
您可以使用外键关系轻松完成此操作。
create unique index unq_authorised_job_user on Authorized(job_id, user_id);
(如果组合当前不是主键或唯一,则需要这样做。)。
alter table Work add constraint foreign key (job_id, user_id) references Authorised(job_id, user_id)