我在SQL server中有一个名为“tblProperties
”的表,其字段为
productid
length
weight
height
depth
我将以不同的时间间隔更新length,weight,height
。
现在我正在为每个属性更新编写一个单独的更新存储过程。
我们如何为所有人编写单个更新查询/ SP,以便我可以传递“productid
”和更新字段,如weight
或height
等。
答案 0 :(得分:3)
declare @length INT, @weight INT, @height INT, @depth INT
set @length = 7878
SET @weight = NULL
SET @height = NULL
SET @depth = NULL
update tblProperties
SET length= (CASE WHEN @length IS NULL THEN length ELSE @length END),
weight = (CASE WHEN @weight IS NULL THEN weight ELSE @weight END),
height = (CASE WHEN @height IS NULL THEN height ELSE @height END),
depth = (CASE WHEN @depth IS NULL THEN depth ELSE @depth END),
WHERE productid = xxxxxxx