0

在 SQL Server 中,当我一起执行这两个命令时

    INSERT INTO TABLEB SELECT * FROM TABLEC WHERE TABLEC.COLUMNC = 'ABC'
    DELETE TABLEC where TABLEC.columnC = 'ABC'

我只得到删除结果。Insert 确实返回了一条消息,指出 x 行受到影响,但表中的内容仍然为空。

实际代码

    INSERT INTO STORECODE_BK SELECT * FROM STORE WHERE STOREID = '334'
    DELETE STORE where STOREID = '334'
4

3 回答 3

1

geomagas 得到了解决方案是由于 ON DELETE CASCADE 属性删除了相关的 PK 谢谢

于 2013-10-05T18:31:06.523 回答
0

选择成一个临时表。

然后使用它插入 TableB 并可能从 Table C 中删除

然后从临时表中选择。

不得不说你必须跳过的所有箍都表明设计不太好。

于 2013-10-05T18:24:53.210 回答
0

试试下面的。

INSERT INTO STORECODE_BK SELECT * FROM STORE WHERE STOREID = '334'
GO
DELETE FROM STORE where STOREID = '334'
GO
于 2013-10-05T18:23:44.050 回答