2012-10-05 2 views
1

코드가 실행 중이지만 문제는 SQL Server 2008 이상에서 실행되도록 의도 된 많은 병합 절이 포함되어 있다는 것입니다. 그러나 문제는 새로운 고객이 SQL Server 2005를 실행하고 Merge 절이 SQL Server 2008까지 사용할 수 없다는 것을 알고 있으므로이 절을 자동으로 구문 분석 할 방법이 없거나 다른 솔루션이있는 경우 제 질문입니다. 고객은 DB를 업그레이드 할 의사가 없으므로 (clasical clauses의 모든 절을 다시 작성하는 것과는 별도로).SQL Server 2005의 병합 절 적용

미리 감사.

+1

SQL 병합 변환기에 대해 알지 못합니다. 현실적으로, 몇 가지를 수동으로 변환 한 후에는 나머지 부분을 빨리 변환 할 수 있습니다. – Jimbo

답변

0

난 당신이 SQL 서버 2005

당신은 동일한 기능을 달성하기 위해 2005 년 친화적 output 절을 사용할 수 있습니다에 대한하지만, 더 자세한 SQL로 MERGE 조항을 모두 다시 작성해야합니다 두렵다. 이 방법은 또한 당신은 병합 문을 구문 분석하고 그들로부터 삽입/업데이트 문을 만들어 함께 C#을 (또는 무엇이든) 응용 프로그램을 넣을 수있는 SQL 서버 2008

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

+0

수정. MERGE를 UPDATE/INSERT 문으로 다시 작성하는 데 시간을 할애 할 것입니다. 클라이언트는 서버를 업그레이드하는 비용과 코드를 다운 그레이드하는 비용을 고려해야합니다. 업그레이드 비용 대비 X 시간당 요금 (QA 포함)을 다운 그레이드하는 시간. 성능 향상과이 유형의 체조가 미래에 필요하지 않다는 사실을 고려하십시오. 그는 이제는 이상적인 두 가지 버전입니다. – NicVerAZ

0

에서 작동합니다. 내 말은, 그건 끔찍한 생각이지만, 너는 할 수있다. 할 ...

"ON"부분을 빼내어 IF EXISTS 및 업데이트 부분에 추가 한 다음 열리스트를 삽입 부분에 추가합니다. 당신은 심지어 프로그래밍 방식으로 (sic?) SP 매개 변수와 모든 것을 만들 수 있습니다.

ㅎ. 행운을 빕니다.