-4

単一の SQL クエリで 2 つのテーブルを更新するにはどうすればよいですか?

2つのテーブルがあるとします

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

では、両方のテーブルを更新するにはどうすればよいでしょうか。たとえば、「Employee」テーブルの「empid」00001 の「salary」フィールドと、Institute テーブルの「regno」123ab の「State」フィールドを更新したいとします。

4

4 に答える 4

3
  1. 関連するデータであれば、おそらくJOIN.
  2. そうでない場合は、1 つのクエリではなく 1 つのトランザクションを探している可能性があります。
  3. それでも1回の呼び出しである必要がある場合は、プロシージャを定義します
于 2013-10-17T18:49:49.307 に答える
1
BEGIN TRANSACTION
query1;
query2;
COMMIT
于 2013-10-17T18:50:02.410 に答える
0

Employee を更新してから Institute を更新するストアド プロシージャを作成すると、単一のクエリは次のようになります。

exec spUpdateEmployeeTableAndInstituteTable
于 2013-10-17T18:48:39.143 に答える
0

実際には、1 つのクエリで実行できます。

UPDATE Employee e, Institute i
SET e.salary = <new salary>,
    i.state = <new state>
WHERE e.empid = '00001'
AND i.regno = '123ab'
于 2013-10-17T18:56:38.463 に答える