我刚刚开始使用数据库级别并且有两个基本问题
但我需要使其成为条件,其中当参数为NULL时它不会设置。
用法:我想将此作为单个SP来更新任何列的子集,来自C#的调用者将填写相应的参数值并将其他参数保留为NULL。
2
如果是“UPDATE selected records”,我是否需要在存储过程中使用锁定?
为什么?操作本身是否已锁定且是事务性的?
当我需要更新所选(条件)记录然后返回更新记录时,我发现同样的问题。
答案 0 :(得分:2)
如果我已正确理解了这个问题,为什么不能从sql server SP动态构建查询,并使用sp_sqlexecute。因此,在构建查询时,您可以确保只有具有值的列已更新。
这会回答你的问题吗?
答案 1 :(得分:1)
更新表 设置a = = @a为null时的情况,然后是@a结束 WHERE id = @id
OR
EXEC'update table set'+ @update +',其中id ='+ @id
OR
一次有条件地更新一列
对我来说,第一个选项通常是首选的,因为它通常足够有效且你不需要担心字符串转义