oracle sql 问题

orcale sql中 这段代码什么意思
UPDATE T_APPLY_INFO
            SET    APPLY_STATUS = CASE WHEN :applyStatus IS NULL THEN APPLY_STATUS ELSE :applyStatus END
                 , APPLY_STATUS_DISPLAY = CASE WHEN :applyStatusDisplay IS NULL THEN APPLY_STATUS_DISPLAY ELSE :applyStatusDisplay END
                 , UPD_USER = :updUser
                 , UPD_DATE = SYSDATE
            WHERE  APPLY_NO = :applyNo

这个不是很简单吗?CASE WHEN的写法就是一个判断而已,这代码的意思是更新T_APPLY_INFO表,当applyStatus 如何时空就取APPLY_STATUS ,否则就取applyStatus ,后面的一样的意思,就跟一个三元运算一样。如何觉得有用就采纳一下吧。

修改表T_APPLY_INFO的数据,根据 字段APPLY_NO 条件修改
:applyNo 是传的值

CASE when那里的意思是如果传入参数为空则不更新该字段