我想知道是否有人可以提供幫助。MERGE SQL代碼無法正常工作
我在我的存儲過程中有這段代碼,但合併不適用於字段地址。適用於其他領域。
我有一個源文件,其中包含要填充到源的所有地址。
Source包含一個包含所有地址的字段。當我運行查詢時,「目標地址」列只填寫具有正確地址的一行。我可以看到源中存在位置更改,地址位置已更新爲該行,但不是表中其餘的屬性。
DECLARE @SQLMerge nvarchar(4000)
SET @SQLMerge=' MERGE '[email protected]+' AS target'+
' USING '[email protected]+' AS source
ON target.VersionEndDate IS NULL AND target.PtyId = source.PtyId
WHEN MATCHED AND NOT (target.Location =source.Location AND target.Price=source.Price
AND target.PtyCode=source.PtyCode
AND target.[FloorSpace] = source.[FloorSpace]
AND target.Address = source.Address)
THEN UPDATE SET VersionEndDate ='''+CONVERT(NVARCHAR(50),@ReportMonthEND,121)+''';'
IF @debug=1 print @SQLMerge
EXECUTE sp_executesql @SQLMerge
嘗試直接先執行MERGE語句(不含動態SQL),並告訴我們究竟是什麼 '不工作' 的意思。 – qxg
我編輯了我的問題,並有更詳細的解釋。讓我知道如果它仍然不清楚。 – Camille
因爲你的'MERGE'語句只包含更新'VersionEndDate'列的語法,所以這是完全可以預料的。我將添加SQL-Server到您的標籤列表 - 我假設這是SQL Server。 –