gpt4 book ai didi

sql-server - 合并到没有行

转载 作者:行者123 更新时间:2023-12-03 16:42:37 26 4
gpt4 key购买 nike

有没有办法使用指令:

MERGE INTO MySchema.MyTable AS Target
USING (VALUES
........
)

没有任何东西代替点?通常你有一个类似(firstValue,SecondValue,...,LastValue)的列表,你想要合并的每一行都有一个列表,但我希望能够编写没有行的指令,以便删除部分MERGE 删除所有行。

这是因为我使用的存储过程会自动创建 MERGE 指令,但有时我开始的表是空的。

当然我尝试过:

MERGE INTO MySchema.MyTable AS Target USING (VALUES) 

但不被接受。

示例:

MERGE INTO [dbo].[MyTable] AS Target
USING (VALUES (1,'Attivo') ,(2,'Disabilitato') ,(3,'Bloccato') ) AS Source ([IDMyField],[MyField]) ON (Target.[IDMyField] = Source.[IDMyField])
WHEN MATCHED AND ( NULLIF(Source.[MyField], Target.[MyField]) IS NOT NULL OR NULLIF(Target.[MyField], Source.[MyField]) IS NOT NULL)
THEN UPDATE SET [MyField] = Source.[MyField]
WHEN NOT MATCHED BY TARGET
THEN INSERT([IDMyField],[MyField]) VALUES(Source.[IDMyField],Source.[MyField])
WHEN NOT MATCHED BY SOURCE
THEN DELETE;

最佳答案

一个可行的解决方案是:

USING (SELECT * FROM MyTable WHERE 1 = 0) 

关于sql-server - 合并到没有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30938118/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com