-1

あるテーブルから別のテーブルに挿入し、挿入後に最初のテーブルから削除するにはどうすればよいですか?

4

2 に答える 2

3

これには2つのクエリが必要です。

最初のクエリは、最初のテーブルからレコードをコピーすることです。

INSERT INTO tableTwo(col1, col2,...,colN)
SELECT  col1, col2,...,colN
FROM    tableOne

2つ目は、最初のテーブルからレコードを削除することです。

DELETE FROM tableOne

1回の呼び出しを行うために、これらのクエリをSTORED PROCEDURE

CREATE PROCEDURE procName()
BEGIN

    INSERT INTO tableTwo(col1, col2,...,colN)
    SELECT  col1, col2,...,colN
    FROM    tableOne;

    DELETE FROM tableOne;

END

プロシージャを呼び出します

CALL procName();

上記のストアドプロシージャの構文はで機能しMySQLます。使用しているRDBMSは何ですか?SQL ServerMySQLOracleDB2?など。だから私は答えを更新することができます。

于 2013-02-20T11:13:59.037 に答える
1

レコードを移動するための単一の呼び出しはどうですか?

DELETE FROM tableOne
OUTPUT col1, col2,..., colN
INTO tableTwo
于 2015-05-06T10:30:09.270 に答える