SSDT:部署预定义数据的最佳方式是什么?

SSDT: Whats the best way to deploy predefined data?

通常我们希望部署数据库并使用预定义值填充一些表(例如国家和产品类别表)

我看到这个例子使用合并:

http://blogs.msdn.com/b/ssdt/archive/2012/02/02/including-data-in-an-sql-server-database-project.aspx

这似乎是一个很好的解决方案,但有更好的解决方案吗?

MERGE 语句最适合通常的预定义情况,即查找表,例如:

create table gender(
 gender_id int,
 gender_description varchar(6)
)

我会说,对于包含大量列或数据的较大表,或者预先不知道唯一键的情况,这并不理想,在这种情况下,您应该编写自己的插入、更新、删除语句等。

如果您决定使用合并语句,此插件可以帮助您构建合并语句:

https://the.agilesql.club/Blog/Ed-Elliott/Introducing-MergeUi-Create-And-Edit-Merge-Statements