-1

如何从一个表插入另一个表,然后在插入后从第一个表中删除?

4

2 回答 2

3

为此,您需要两个查询。

第一个查询是从第一个表中复制记录,

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

第二个是从第一个表中删除记录,

DELETE FROM tableOne

为了打一个电话,您可以将这些查询包装在一个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. 您正在使用什么RDBMSSQL Server? MySQL? Oracle? DB2? 等等..所以我可以更新答案。

于 2013-02-20T11:13:59.037 回答
1

一次调用移动记录怎么样?

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