检查新的/现有的值并在sql中更新
本文关键字:sql 更新 检查 | 更新日期: 2023-09-27 18:17:38
我有一个SQL表,项目列值为'Project1,Project2,Project3'如果他们从teleerik下拉列表中选择一个不同的值,如'Project4',我需要更新这一行为'Project1,Project2,Project3,Project4'
我从下拉列表中获得与'Project1,Project2,Project3'相同的值,所以我将把它作为参数发送给SQL。
假设他们选择'Project5,Project1'…不应该再添加Project1,因为它已经存在了。
有人可以建议我如何检查新的和现有的值,并相应地更新。我的简单更新对这种情况不起作用。有点震惊。
谢谢
您可以创建一个存储过程,并在必要时使用merge to insert
或update
,如下面的示例
DECLARE @nameField VarChar(50) = 'some data'
MERGE dbo.MyTable t
USING (SELECT @nameField [field]) s
ON t.myData = s.field
WHEN MATCHED THEN
UPDATE
SET t.myData = @nameField
WHEN NOT MATCHED THEN
INSERT (myData)
VALUES (@nameField);
如果你想限制冗余更新,例如,如果用完全相同的数据更新Project Column并阻止这样的更新,那么你需要创建一个更新触发器来检查和阻止更新