如何在SQL server中对SQL更新查询使用逻辑OR运算符?
我可以写一些像这样的查询吗 我想更新表,但我不确定需要更新多少列以及可以应用多少条件。我完全依赖于SQL参数 以下是我的示例SQL查询:如何在SQL server中对SQL更新查询使用逻辑OR运算符?,sql,sql-server,Sql,Sql Server,我可以写一些像这样的查询吗 我想更新表,但我不确定需要更新多少列以及可以应用多少条件。我完全依赖于SQL参数 以下是我的示例SQL查询: CREATE PROCEDURE UpdateRecords ( @Category AS VARCHAR(20)='', @Manufature AS VARCHAR(20)='', @Model AS VARCHAR(20)='', @CategoryNew AS VARCHAR(20), @ManufatureNew AS VARCHAR(20), @
CREATE PROCEDURE UpdateRecords
(
@Category AS VARCHAR(20)='',
@Manufature AS VARCHAR(20)='',
@Model AS VARCHAR(20)='',
@CategoryNew AS VARCHAR(20),
@ManufatureNew AS VARCHAR(20),
@ModelNew AS VARCHAR(20),
@CategoryOld AS VARCHAR(20),
@ManufatureOld AS VARCHAR(20),
@ModelOld AS VARCHAR(20)
)
AS
UPDATE table19999
SET (@category='' OR category=@CategoryNew),
(@Manufature='' OR Manufature=@ManufatureNew),
(@Model='' OR Model=@ModelNew)
WHERE (@category='' OR category=@CategoryOld ) AND
(@Manufature='' OR Manufature=@ManufatureOld ) AND
(@Model='' OR Model=@ModelOld )
有什么帮助吗
update table199999
set
category=case when @category='' then category else @CategoryNew end,
manufacture=case when @manufature='' then manufacture else @manufactureNew end
依此类推,您可以在中使用条件
UPDATE TABLE
SET (MANUFACTURE = @MANUFACTURE, CATEGORY = @CATEGORY)
WHERE MANUFACTURE IN (@OPTION1, @OPTION2)
OR CATEGORY IN (@CATEGORY1, @CATEGORY2)
代码错误,请说明您需要做什么。何时更新类别字段?我猜如果@category=''不要更改类别,否则如果category=@categoryold set category=@categorynew,SQL中的工作单元是行,而不是列。