将已删除的记录重新插入表

时间:2017-10-26 14:10:35

标签: sql sql-server tsql

我错误地删除了一些记录,但幸运的是我知道那些记录是因为它们在查询结果中被提及。我已将它们复制到excel文件中。如何将所有这些记录一次性插回到表格中?

其他问题可能是,在删除Result to Text选项时,选中了Result to Grid而不是<?php $file = urldecode($_POST['url']); $parts = explode('/',$file); if($file){ header("Content-disposition: attachment; filename=$file"); header("Content-type: application/octet-stream"); readfile($file); echo 'Yes'; }else{ echo 'No'; } ?>

3 个答案:

答案 0 :(得分:1)

我会创建一个公式,例如:

replace(replace(replace("([1], [2], [3]),", "[1]", A2), "[2]", B2), "[3]", B3)

将此公式复制下来以获取列中的所有数据。注意:您可能需要为字符串和日期添加单引号。

然后进入SSMS并输入(填写名称):

insert into <tablename>(<col1>, <col2>, . . .)
    values

然后复制公式的结果。删除最后一个逗号并运行代码。

答案 1 :(得分:1)

嗯,这完全是黑客攻击,但值得一试。如果它有效,它会非常快。如果没有,你就不会浪费太多时间。

创建目标表的空副本。 (右键单击SSMS中的表名,然后单击脚本表 - >>创建到 - >新查询编辑器窗口;然后更改表的名称,沟渠索引等。只需堆一下。)

存在表格副本后,右键单击该表格,然后选择编辑前n行。

转到Excel。突出显示要带入的所有单元格并将其复制到剪贴板。

回到SSMS。在编辑器窗口中选择完整的第一行(空)(单击行左侧的箭头)。

点击粘贴。

根据您拥有的数据类型,它很可能会直接进入您的堆中。从那里,您可以将INSERT重新插入基表。

答案 2 :(得分:1)

我建议保存您的Excel,右键单击对象资源管理器中的数据库,转到任务并导入数据。该向导相当容易使用,并且是最自然的最简单的方法来重新获取数据。请尝试在这里寻找更多信息......

https://docs.microsoft.com/en-us/sql/integration-services/import-export-data/connect-to-an-excel-data-source-sql-server-import-and-export-wizard