誰かが助けてくれるのだろうかと思っていました。MERGE SQLコードが正しく機能しない
私はこのコードを私のストアドプロシージャに持っていますが、MergeはフィールドAddressに対して機能していません。他の分野の作品。
ソースにはすべてのアドレスを入力するソースファイルがあります。
ソースには、すべてのアドレスを持つフィールドが含まれています。クエリを実行すると、[ターゲットアドレス]列に正しい行が1行だけ入力されます。ソースの場所の変更があったことがわかりました。アドレスのある場所はその行のために更新されましたが、テーブルの残りのプロパティは更新されませんでした。
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
は(動的SQLなし)に直接最初のMERGE文を実行し、手段は '動作していない' 正確に何を教えてみてください。 – qxg
私はより詳細な説明で私の質問を編集しました。まだ明らかでない場合は教えてください。 – Camille
'MERGE'ステートメントには' VersionEndDate'カラムを更新する構文しか含まれていないので、これはまったく予想されます。私はあなたのタグのリストにSQL Serverを追加します - 私はこれがSQL Serverだと仮定します。 –