如何使用单个sql查询更新两个表?
假设我有两张桌子
1. Employee
empid empname salary
00001 Vijay 100000
00002 Alex 200000
00003 Jennifer 300000
2. Institute
regno State Country
123ab Texas USA
231nf California USA
那么我们如何更新两个表格让我说要更新“员工”表的“empid”00001的“薪水”字段和研究所表的“regno”123ab的“州”字段。
答案 0 :(得分:3)
JOIN
。答案 1 :(得分:1)
BEGIN TRANSACTION
query1;
query2;
COMMIT
答案 2 :(得分:0)
您可以创建一个存储过程来更新Employee,然后更新Institute,这样您的单个查询就是:
exec spUpdateEmployeeTableAndInstituteTable
答案 3 :(得分:0)
实际上可以在一个查询中完成:
UPDATE Employee e, Institute i
SET e.salary = <new salary>,
i.state = <new state>
WHERE e.empid = '00001'
AND i.regno = '123ab'