我有一个表 tblApply,它有一个主键(email_id,Job_id),它们是 tblEmail(email)和 tblJob(Job_id)的外键。我想在 tblApply 中插入新值,但要避免那些已经存在于 email_id、Job_id 组合中的值。下面是我的代码。我该怎么办。我在存储过程中执行此操作。
insert into tblApply(email_Id, Job_Id, Apply_Date)
select @emailId, tblJobsJob_Id, GetDate() from tblJobs
where Job_Active = 1
最佳答案
据我了解,您希望设计一个用于插入行的存储过程,以避免插入重复的唯一键值。
如果是这种情况,您可以这样做:
insert into tblApply(email_Id, Job_Id, Apply_Date)
select @emailId, tblJobsJob_Id, GetDate() from tblJobs
where Job_Active = 1 AND
NOT EXISTS(SELECT 1 FROM tblApply
WHERE email_Id = @emailId AND Job_Id = tblJobsJob_Id)
关于sql - 插入到选择不存在的sql server多列主键冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408643/