oracle序列号插入,MyBatis正确插入带有主键(使用oracle序列号)的数据到oracle数据库...

insert into RAW_MSG_BATCH

//设置为true

SERAIL,//主键

OCC_DATE,

OCC_TIME,

STATE,

MSG,

BSN_CD,

MSG_TYPE,

PRIOR1,

SEND_TIMES,

SEND_TIME,

REPORT_FLAG,

SEND_WAY,

CUSTOM_ID,

IN_CHANNLE,

IN_CHAN_CUSTOM_ID,

OUT_CHANNLE,

OUT_CHAN_CUSTOM_ID,

FILTER,

GROUP_ID,

BAT_ID,

BAT_ORDER,

BAT_SLICE,

SPLIT_FLAG,

LINK_FLAG,

MSG_REMARK,

SEND_NOW,

SCH_BEG_TIME,

SCH_END_TIME,

OPE,

ORG,

//设置为true

serial.nextval,

#{occDate,jdbcType=TIMESTAMP},

#{occTime,jdbcType=TIMESTAMP},

#{state,jdbcType=DECIMAL},

#{msg,jdbcType=VARCHAR},

#{bsnCd,jdbcType=CHAR},

#{msgType,jdbcType=DECIMAL},

#{prior,jdbcType=DECIMAL},

#{sendTimes,jdbcType=DECIMAL},

#{sendTime,jdbcType=TIMESTAMP},

#{reportFlag,jdbcType=DECIMAL},

#{sendWay,jdbcType=DECIMAL},

#{customId,jdbcType=CHAR},

#{inChannle,jdbcType=CHAR},

#{inChanCustomId,jdbcType=VARCHAR},

#{outChannle,jdbcType=CHAR},

#{outChanCustomId,jdbcType=VARCHAR},

#{filter,jdbcType=DECIMAL},

#{groupId,jdbcType=DECIMAL},

#{batId,jdbcType=DECIMAL},

#{batOrder,jdbcType=DECIMAL},

#{batSlice,jdbcType=DECIMAL},

#{splitFlag,jdbcType=DECIMAL},

#{linkFlag,jdbcType=DECIMAL},

#{msgRemark,jdbcType=VARCHAR},

#{sendNow,jdbcType=DECIMAL},

#{schBegTime,jdbcType=TIMESTAMP},

#{schEndTime,jdbcType=TIMESTAMP},

#{ope,jdbcType=CHAR},

#{org,jdbcType=CHAR},

如果主键表达式不为true,例:test=“serial != null”或test="serial == null"或删除标签等,极有可能报:

ORA-00913: 值过多

ORA-00947: 没有足够的值

出现不支持的 SQL92 标记: 654: SERIAL

等等错误,

经过检验:还是设置为true后,oracle序列号起作用了,插入语句正确运行。

注:像什么先查序列号再插入主键的,经测试在这个trim语句中无效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值