急急急!!!
使用mybatis框架进行动态编写sql插入语句时报错--违反主键唯一约束。
刚接触mybatis框架,具体不太了解。。
这是程序代码: <!--新增电价信息-->
<insert id="insertPrice" parameterType="java.util.List">
insert into OCS.E_CAT_PRC (CAT_PRC_ID,PARA_VN,CAT_PRC_ABBR,CAT_PRC_NAME,PRC_CODE,ELEC_TYPE_CODE,PRC_VOLT_CODE)
<foreach collection="list" item="item" index="index" separator="union all" >
(select
#{item.prcid,jdbcType=VARCHAR},
#{item.pavn,jdbcType=VARCHAR},
'0',
#{item.name,jdbcType=VARCHAR},
#{item.code,jdbcType=VARCHAR},
#{item.type,jdbcType=VARCHAR},
#{item.degree,jdbcType=VARCHAR}
from OCS.E_CAT_PRC
)
</foreach>
</insert>
<!--新增电价日期信息-->
<insert id="insertPavn" parameterType="java.util.List">
insert into OCS.E_BILL_PARA_VER (PARA_VN,APP_NO,PAR_BGN_DATE,PAR_END_DATE)
<foreach collection="list" item="item" index="index"
separator="union all">
(select
#{item.pavn,jdbcType=VARCHAR},
'0',
to_date(#{item.sdate,jdbcType=VARCHAR},'yyyy-MM-dd'),
to_date(#{item.fdate,jdbcType=VARCHAR},'yyyy-MM-dd')
from OCS.E_BILL_PARA_VER
)
</foreach>
</insert>其中电价信息和电价日期是两张不同的表
这是表关系这是表结构这是控制台输出错误
使用mybatis框架进行动态编写sql插入语句时报错--违反主键唯一约束。
刚接触mybatis框架,具体不太了解。。
这是程序代码: <!--新增电价信息-->
<insert id="insertPrice" parameterType="java.util.List">
insert into OCS.E_CAT_PRC (CAT_PRC_ID,PARA_VN,CAT_PRC_ABBR,CAT_PRC_NAME,PRC_CODE,ELEC_TYPE_CODE,PRC_VOLT_CODE)
<foreach collection="list" item="item" index="index" separator="union all" >
(select
#{item.prcid,jdbcType=VARCHAR},
#{item.pavn,jdbcType=VARCHAR},
'0',
#{item.name,jdbcType=VARCHAR},
#{item.code,jdbcType=VARCHAR},
#{item.type,jdbcType=VARCHAR},
#{item.degree,jdbcType=VARCHAR}
from OCS.E_CAT_PRC
)
</foreach>
</insert>
<!--新增电价日期信息-->
<insert id="insertPavn" parameterType="java.util.List">
insert into OCS.E_BILL_PARA_VER (PARA_VN,APP_NO,PAR_BGN_DATE,PAR_END_DATE)
<foreach collection="list" item="item" index="index"
separator="union all">
(select
#{item.pavn,jdbcType=VARCHAR},
'0',
to_date(#{item.sdate,jdbcType=VARCHAR},'yyyy-MM-dd'),
to_date(#{item.fdate,jdbcType=VARCHAR},'yyyy-MM-dd')
from OCS.E_BILL_PARA_VER
)
</foreach>
</insert>其中电价信息和电价日期是两张不同的表
这是表关系这是表结构这是控制台输出错误
解决方案 »
- oracle 临时表重复插入数据报错
- oracle 11g 为什么安装到9%就没反应。
- oracle11用exp 备份数据库文件只有12kb,请大家帮忙看下,谢谢
- 请教对于NUMBER类型的字段怎样才可以不使用科学计数法存放大于15位的整数?
- oracle10g文件夹共享问题
- user_tables之类的视图是属于sys用户的,但是为什么其他用户可以不使用sys.前缀就可以直接访问?
- 请问oracle的预定义异常表是哪一个
- 一个sql语句,帮我看看!
- 怎样去掉Oracle数据库中姓名字段中的空格,可能有一个空格,也可能有多个
- oracle 的按装问题
- 求大神·关于oracle查找字符串问题
- oracle 行转列
separator="union all">
(select
#{item.pavn,jdbcType=VARCHAR},
'0',
to_date(#{item.sdate,jdbcType=VARCHAR},'yyyy-MM-dd'),
to_date(#{item.fdate,jdbcType=VARCHAR},'yyyy-MM-dd')
from OCS.E_BILL_PARA_VER
)
</foreach>
----------把 from OCS.E_BILL_PARA_VER改成 from dual
主要是foreach 中的 item.prcid这个值有重复的。 把它数据来源搞清楚