fer*_*vak 4 t-sql stored-procedures
有没有办法用以下参数创建UPDATE stored_procedure:
@param1 int = null,
@param2 int = null,
@param3 nvarchar(255) = null,
@param4 bit = null,
@id int
Run Code Online (Sandbox Code Playgroud)
并使用UPDATE语句,它将仅更新非NULL的字段
所以,如果我执行
spUpdateProcedure @param1=255, @id=1
Run Code Online (Sandbox Code Playgroud)
如果将更新记录@ id = 1,但它只会改变字段@ param1并忽略对其他@param2,3,4的更改.
换句话说,它不会改变null@ param2,3,4中的值
谢谢.
UPDATE YourTable
SET Column1 = COALESCE(@param1, Column1),
Column2 = COALESCE(@param2, Column2),
...
WHERE id = @id
Run Code Online (Sandbox Code Playgroud)