页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 4 下一个 »

(本文档仅供参考)

现象

带参数的电子表格进行批量导入数据时,重复两次导入后报主键或唯一约束冲突:ORA-00001:违反唯一约束条件,见下图

原因:

 在报表设置合理的情况下,此报错是因为第一次批量导入数据时,数据库没有对应的数据,所以执行insert操作,而第二次进行批量导入时,数据库已经存在对应数据,但是报表带参数,此时根据参数筛选出的数据并未包含需要excel表导入的数据,见下图:

 

  所以进行批量导入数据后报错。

  对于带参数的报表,批量导入功能产品是根据参数获取的数据集进行insert和update操作的,若根据参数获取的数据集在需要导入的excel表中不存在,则执行insert操作,反之,则执行update操作,对于上图中的报错,是因为数据库中已经存在数据,而前端根据参数获取的结果集并不包含excel表数据,所以导致报错,当切换参数,通过参数获取的结果集包含excel表的数据后,批量导入数据正常,见下图:

 

  那么如何做到不切换参数都可以实现第一次导入数据执行insert操作,第二次导入数据执行update操作?

解决方案:

         可以采用电子表格-回写规则中的强制先执行更新再执行插入解决,见下图

         

         关于强制先执行更新再执行插入的说明见此wiki文档:电子表格-回写规则 


  • 无标签