我需要一个查询来更新一个字段。如果传递的参数为null,则不要使用参数的空值
更新它update myTable
set myField1 = :param1
环境:hibernate和oracle
答案 0 :(得分:5)
你不能把它放在那里的子句吗?
update myTable
set myField1 = :param1
where :param1 is not null
这样可以避免额外的DML。或者你可以这样做:
update myTable
set myField1 = decode(:param1, null, myField1, :param)
但这意味着您将某个字段更新为相同的字段,当您不必这样做时,该字段并非最佳。