SQL Server 2008生成数据脚本并检查现有记录

时间:2013-02-21 14:54:56

标签: sql sql-server-2008 wizard

我正在使用SQL Server 2008 Management Studio Generate Scripts...向导为我的数据库中的各种表生成仅数据脚本。

问题是它生成了一堆insert语句,但不包含任何类型的if exists逻辑。所以,我正在获取已经存在的记录的主键例外。

有没有人知道如何编写表格中的数据,以便检查记录是否已经存在?

2 个答案:

答案 0 :(得分:1)

最简单的方法是创建一个仅为新主键选择具有唯一值的行的视图,然后从该视图生成数据脚本。

如果您向我们展示源表的CREATE TABLE脚本以及新主键的内容,我可以向您展示如何创建这样的View。

答案 1 :(得分:0)

我猜你的意思是存在FK错误,因为有些表在将数据作为引用表插入表之前需要存在数据。

生成脚本向导将为您提供一组插入脚本,但不会为您排序,您需要做的是智能地将所有子表插入脚本排序为比父表更早排序,就像填充数据一样在Parent表中,所有引用的表都将具有值。