oracle存储过程中轮循insert语句插入一条之后,下一条数据可能某些字段为空的问题

如果不为空那岂不是数据插入的就有问题了,怎么解决,我想的是每次insert完之后给所有值赋空一遍,然后再去轮循
oracle存储过程中轮循insert语句插入一条之后,下一条数据可能某些字段为空,那么再轮循insert的时候这些为空的字段是保留上一条数据的值还是为空

我理解一下哈,你的意思是不是插入的时候使用了变量赋值的方法,比如说,查询出数据来,放在一个变量里面,然后把这个变量用一个insert语句插入表,如果是这样的,当有空值出现时,该变量会被赋值为空,不会保留上一次的结果。
个别编程语言会有这个缺陷,例如PB就有这个问题,所以。通常来说好的变成习惯应该是每次变量是用前都初始化,在使用结束后都销毁或者回收。
希望回答可以帮到你。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-14
轮循insert,没有看懂。

是循环处理,每次insert一条数据吗?
向数据库插入数据是新增一行,不会去更新。追问

就是一组数据,我取一条插入再去一条再插入

追答

新插入的一条数据,在数据库中会新增一条数据,对以前的数据不会有影响。

本回答被网友采纳
第2个回答  2012-09-14
如果该字段没有默认值的话,之后的数据就是为空了,不会保留之前那条数据的追问

貌似不是这样的,还是保留之前那条数据的值了,我现在的方法是在insert语句前加个 字段:=‘’;这个了,可以吗

追答

你是怎么插入的?在ORACLE里直接写的函数?还是程序代码里调用的?

话说是不是你用循环递归的传值给某个参数了?然后那个参数在为空的时候没有重新赋值?
不然不可能啊。

不清楚你是什么状况,但重新插入之前,为参数赋空值,自然也能传空了,不过注意字段不能是非空字段啊