回答

收藏

合并-有条件的匹配后更新。

技术问答 技术问答 264 人阅读 | 0 人回复 | 2023-09-14

下图中的亮点显示了我想要实现的逻辑。我意识到语法不正确。7 Q7 Q$ |* a4 X5 e: W0 T! ~1 \5 Z
只有当目标表中列出的值为空,源表中的对应值不为空时,才能有条件更新MERGE句子中的记录吗?
6 H7 T4 ~. t- J( k0 @. ?1 T如何建议重写?+ G) ^+ U: i  d  _. i9 ^- E/ G$ o
MERGE dbo.input_311 AS [t]USING dbo.input_311_staging AS <strike>ON ([t].[unique key] = <strike>.[unique key])WHEN NOT MATCHED BY TARGET    THEN INSERT(t.[Created Date]) VALUES(s.[Created Date])WHEN MATCHED    THEN UPDATE SET(t.[Created Date] = s.[Created Date]                WHERE s.[Created Date] IS NOT NULL                AND t.[Created Date] IS NULL)OUTPUT deleted.*,$action,inserted.*;GO               
% r: G" y  Y: @# l- C( B( P% Y8 e    解决方案:                                                                # h" ^9 r( W5 i, E" `9 j
                                                                也许可以用When Matched And (s.[Created Date] Is Not Null And t.[Created Date] IsNull) Then Update ...。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则