使用Oracle时遇到的一些问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wdays83892469/article/details/89221868

Oracle与Mysql的差异

  1. Oracle没有主键自增主键一般使用的序列 Mysql主键自增长
  2. 单引号的处理 Mysql里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。
  3. 时间函数
    1)Mysql now() Mysql的sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。now()比较常用
    Mysql日期函数 https://www.cnblogs.com/ggjucheng/p/3352280.html
    2)Oracle 从dual这个表(伪表)查询,直接插入语句写sysdate就够了(没括号)
    Oracle 在SQL语句中如何获取系统当前时间并进行操作 https://blog.csdn.net/idomyway/article/details/79016527
  4. 分页查询

1)Oracle

SELECT * FROM  
(  
SELECT A.*, ROWNUM RN  
FROM (SELECT * FROM TABLE_NAME) A  
WHERE ROWNUM <= 40  
)  
WHERE RN >= 21

https://www.cnblogs.com/zhaotiancheng/p/6262635.html
2)Mysql
一般的分页查询使用简单的 limit 子句就可以实现。limit 子句声明如下:

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
#从第1000个数据开始查,查10个数据
select * from table where type=8 limit 1000,10; 

Mysql分页查询优化 https://www.cnblogs.com/youyoui/p/7851007.html 分页查询,偏移量越多,查询越慢

Mysql大数据量分页查询 https://www.cnblogs.com/geningchao/p/6649907.html

Mybatis改写SQL语句遇见的一些问题

Mybatis批量删除数据,最大量是1000,需要自己手动将List切分成小于等于1000的集合操作
工具类

xxxxxx

数据库的时间取出来是String类型,想转为java.util.Date类型自己手动转
工具类

xxxxx

语句中不允许出现;
大于号 用 & gt;替代 小于号用 & lt;替代
mybatis 批量插入数据到oracle报 ”java.sql.SQLException: ORA-00933: SQL 命令未正确结束“ 错误解决方法 在标签内添加useGeneratedKeys=“false”

  <insert id="addList" parameterType="java.util.List" useGeneratedKeys="false">
              INSERT INTO table_name  where select * from table_name2
   </insert>

、、

 <select id="queryList" resultType="com.example.model.Bean">
          select * from table_name
 </insert>
 resultType="xxxx"不用写List 写返回值的类型就行 基础类型和Bean都可以

#{field, jdbcType=NUMERIC} 动态sql里面传变量 数值类型
#{field, jdbcType=VARCHER} 字符串类型
MyBatis几种不同类型传参的总结 https://blog.csdn.net/m0_37837382/article/details/81626908

使用PLSQL的一些总结

表的语句无法执行 oracle11g报错ORA-00054:资源正忙,要求指定NOWAIT如何解决?
1)被其他用户编辑占用
让其释放即可使用
2)表被锁导致无法执行(Oracle机制 重点)
一条插入语句未执行完成,下一条插入语句开始执行就会导致表锁定
https://www.2cto.com/database/201802/723182.html

PlSQL导出数据表结构以及表数据

https://wenwen.sogou.com/z/q806564636.htm 用户名和密码不一样导不进去

其他

视图没有办法建立索引

猜你喜欢

转载自blog.csdn.net/wdays83892469/article/details/89221868