oracle 2个字段交叉行相同_ojdbc经常报的2个错

1.1 ORA-01461:仅可以插入LONG列的LONG值赋值

1.1.1 原因:oracle中varchar2类型(最大长度为4000字节),sql语句中 select 后面的字段如果大于4000个字节时就会被转成Long型,而如果对应的列不是long行,就报错

1.1.2 解决:

{1} 将此字段的类型改为clob或者blob类型;

{2} 将oracle数据库表中的varchar2类型直接改成clob类型会失败,需要先转成long数据类型再转成clob类型。同时注意表中不要有数据。

1.2 ORA-01704:文字字符串过长

1.2.1 Oracle中有SQL语句中两个单引号之间的字符数不能大于4000的限制。'" + data + "' data在sql语句之间,当data的值大于4000个字节时就会报错。

1.3 oracle的自增序列查一次或者调用一次(放在insert中执行一次)都会自增1,è 如果在添加有关联的2条记录时采用先把关联属性的id查出来的办法,查出来之后就就把值存在对象中,拼sql的直接直接从对象中取值然后赋给sql即可,千万不要再在sql中调用自增序列。 è 后面添加的关联记录会因为关联字段对不上报 找不到父项关键字 的错。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值