暂无图片
Oracle 中通过update给空字段赋值进去是没有old值的吗?
我来答
分享
暂无图片 匿名用户
Oracle 中通过update给空字段赋值进去是没有old值的吗?

:new.id<>:old.id 触发器里面这个条件直接跳过了

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
DarkAthena

空值不能用于比较符的判断,不仅仅只是触发器,常规sql的查询条件也是这样。

如果有空值,一般要用nvl处理后再来判断,比如

nvl(:new.id,'x')<>nvl(:old,.id'x')

或者再单独判断空值的情况,但写得就长了

:new.id<>:old.id or (:old.id is null and :new.id is not null ) or (:old.id is not null and :new.id is null )
暂无图片 评论
暂无图片 有用 0
暂无图片
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏