1. ホーム
  2. sql

[解決済み] SQLデータをあるテーブルから別のテーブルに移動する

2023-06-30 17:09:27

質問

あるテーブルから別のテーブルへ、特定のクエリに一致するすべてのデータ行を移動することは可能でしょうか。

たとえば、ユーザー名 = 'X' およびパスワード = 'X' のすべてのテーブル行を Table1 から Table2 に移動して、Table1 に表示されないようにする必要があります。

私は SQL Server 2008 Management Studio を使用しています。

どのように解決するのですか?

1つのトランザクション内で2つのステートメント、挿入と削除を使用することが可能であるべきです。

BEGIN TRANSACTION;
INSERT INTO Table2 (<columns>)
SELECT <columns>
FROM Table1
WHERE <condition>;

DELETE FROM Table1
WHERE <condition>;

COMMIT;

これは最も単純な形です。もし、2つのステートメントの間に新しいマッチングレコードがテーブル1に挿入されることを心配する必要があるならば、テーブル1上に and exists <in table2> .