我有一张User表和工资表。因此,每当为用户创建工资单ID时,它将在工资表(payroll.payrollID)中更新。
我们可以将此值插入user.payrollID。我这样做是使用传统的java-JDBC程序定期更新。
UPDATE user
SET payrollID = (SELECT payrollID
FROM payroll
WHERE payroll.userID = user.userID)
WHERE user.payrollID IS NULL
AND EXISTS(SELECT payrollID
FROM payroll
WHERE payroll.userID = user.userID)
注意:我无法访问工资单程序。所以我不能对工资单程序进行任何程序级别的更改以插入2个表
答案 0 :(得分:2)
UPDATE u
Set payrollID = p.payrollID
FROM User u
INNER JOIN Payroll p ON p.userID = u.userID
WHERE u.payrollID IS NULL
记住update语句可以使用from子句和/或任何连接中使用的表别名。
最后,我建议创建一个触发器来处理此更新。