1

我有一个正在运行的代码,但我遇到的问题是它包含许多 MERGE 子句,因为它打算从 SQL Server 2008 运行并向前运行。但问题是一个新客户正在运行 SQL Server 2005,并且您知道 Merge 子句在 SQL Server 2008 之前不可用,所以我的问题是是否没有办法自动解析 this 子句或者是否有其他解决方案(除了重写经典子句中的所有子句)因为客户不愿意升级数据库。

提前非常感谢。

4

2 回答 2

0

恐怕您需要MERGE为 SQL Server 2005 重新编写所有子句。

您可以使用 2005 友好output子句来实现相同的功能,但使用更详细的 SQL。这种方法也适用于 SQL Server 2008。

http://sqlserver-tips.blogspot.co.uk/2006/09/mimicking-merge-statement-in-sql.html

于 2012-10-05T12:48:10.527 回答
0

您可以将 C#(或其他)应用程序放在一起来解析合并语句并从中创建插入/更新语句。我的意思是,这是一个可怕的想法,但你可以做到...

您必须拉出“ON”部分,将其添加到检查 IF EXISTS 和更新部分,然后将列列表添加到插入部分。您甚至可以以编程方式(原文如此?)创建 SP 参数和所有内容。

呵呵。祝你好运。

于 2012-10-05T13:05:39.750 回答