从两方面来说
站在用户的角度思考问题,与客户深入沟通,找到桦川网站设计与桦川网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广、国际域名空间、虚拟主机、企业邮箱。业务覆盖桦川地区。
(1)改用exists,这样的话查一遍就行了(虽然理论上是这样,不过我看执行计划没看出来),in的话是两遍
(2)尽量减少in内的数据,继续缩小范围,如果实在没办法减小范围,那就只能是多次查询(慎用,虽然说多次查询每次的量小了,但是多次查询也容易出问题),或者也可以用关联查询试试看(也就是不作为条件,而是作为一张表查询,查询后再关联,这样的话走hash可能会快,这个不一定,要看具体的执行计划)
in 子查询中你取了2列值啊,只能去1列值的
你是要这样的效果吗?
select rz,tm from st_rsvr_r where rz in(select max(rz) from st_rsvr_r where stcd='62202410'and rz0
union
select min(rz) from st_rsvr_r where stcd='62202410'and rz0
)
从Java端传入Oracle的参数的数量比数据库使用的参数的数量不一致。
一般就是一些条件在某些条件下没有拼到SQL语句中,但是参数传入部分没有进行相应的判断,导致传入的参数数量过多。
一种是查询的时候,select a.* from a where a.id in(select * from b);--子查询里面是多个列了。
第二种是插入的时候 insert into a select * from b; --b表的字段比a表里的多。
insert into xg_zhcp_zcfsb
(xh, xn, xq, xmdm, fs, lrr,lrsj) select
这是你写的, 但是你后面select出来的字段大于7个, 自然就报错了
在出错前把SQL语句 用System.out.println(sql);输出下,粘到Oracle 里试试看,一般Oracle会给你提示
网页名称:oracle值过多怎么改 oracle值过多如何insert
文章分享:https://www.cdcxhl.com/article28/hpsojp.html
成都网站建设公司_创新互联,为您提供网站制作、做网站、网站维护、搜索引擎优化、商城网站、网站策划
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联