mak*_*red 4 java hibernate hql
我正在尝试使用以下脚本更新数据库的某些行,该脚本运行得很好:
update DOS
set NAMEDOS=:name,
AGEDOS=:age,
WEIGHTDOS=:weight
where CODEDOS=:code
Run Code Online (Sandbox Code Playgroud)
我的问题如下,有时权重可能为空或为空,所以我必须设置其他属性。
我尝试像这样进行,但似乎不起作用:
update DOS
set NAMEDOS=:name,
AGEDOS=:age,
WEIGHTDOS= (case when weight is not null then :weight else :WEIGHTDOS end),
where CODEDOS=:code
Run Code Online (Sandbox Code Playgroud)
你能帮我吗。
尝试稍微切换一下括号,我认为:WEIGHTDOS
应该没有双点,因为它是直接列名称而不是参数:
update DOS
set NAMEDOS=:name,
AGEDOS=:age,
WEIGHTDOS= case when (:weight is not null) then :weight
else WEIGHTDOS
end,
where CODEDOS=:code
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1932 次 |
最近记录: |