当前位置: 代码迷 >> Oracle开发 >> table中一个字段是数组, 当数组为空的时候如何更新这个数组
  详细解决方案

table中一个字段是数组, 当数组为空的时候如何更新这个数组

热度:182   发布时间:2016-04-24 06:29:19.0
table中一个字段是数组, 当数组为空的时候怎么更新这个数组
当数组为空的时候,这条语句不包错。
update TABLE1 ES set 
ES.SHUZU.AAA='4-13218695'
where ES.CASE_ID=5222348;

当数组为空的时候,错误如下

Ora-02309: atomic NULL violation
Cause:  An attempt was made to acess the attributes of a null object instance.
Action: Ensure that the objcet instance is non-NULL before accessing
------解决思路----------------------
引用:

这个帖子有详细的解答,对你有用

http://www.sql.ru/forum/25819/ora-02309-atomic-null-violation
------解决思路----------------------
对象没有初始化,不能直接修改
假设你的shuzu字段类型为t_object,元素有aaa,bbb,ccc
那么如果该字段为空时,语句修改为
update TABLE1 ES set 
 ES.SHUZU=t_object('4-13218695',null,null)
 where ES.CASE_ID=5222348;
即可
  相关解决方案