sql阶段问题总结

这篇博客总结了在使用Oracle SQL和MyBatis过程中遇到的问题,包括ORA-00913、ORA-01427等错误,以及两表操作、条件插入和返回结果分类。同时讨论了MyBatis的模糊查询、批量插入和resultType与resultMap的区别,并提供了错误解决方案。
摘要由CSDN通过智能技术生成

背景

近期,正在熟悉mybatis的开发,但是通过这个学习过程,发现还是遇到不少的坑,于是自己就记录下期间遇到的坑,方便自己以后复习,和遇到时方便再次查找。

sql相关

1. ORA-00913: 值过多

由于自己使用的是判断一个字段是否在某个子查询的返回结果中。但是由于自己的子查询写成了查询*,这个时候,就爆出了这个错误。因此希望自己在写sql时可以更加细心一些。

2. ORA-01427 单行子查询返回多个行

由于自己没有注意到查询结果不是唯一的,含有重复数据,导致在子查询中返回的结果存在多条数据而报错

3. ORA-02287:此处不允许序号

不允许使用序列号的情况有:

  • 在delete,select,update子查询中
  • 视图的查询
  • select语句中使用了distinct
  • select语句中使用了order by 或者group by
  • 一条select语句与另外一条带有union、intersectminus集运算符的select语句结合使用
  • select语句的where子句
  • 在创建表的时候,含有默认值的这列
  • 含有check约束条件的列
4. 两表求交集和差集

intersect运算,minus运算可以进行并集和差集的运算

5. 根据条件选择是否插入

此使可以使用merge into进行条件判断是否选择进行插入

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值