数据库db2到oracle迁移解决方案
前言
本文对数据库db2到oracle迁移过程遇到的问题和解决方案进行总结梳理,为项目从db2数据库迁移到oracle数据库sql语句修改提供参考。
1.取前n条数据
描述:
db2语法为fetch first n rows only,oracle取前n条数据的语法为在where条件中增加rownum<=n;
举例:
1--按照f_id降序取表tab_example_info中前十条数据
2--db2
3select * from tab_example_info order by f_id desc fetch first 10 rows only
4--oracle
5select * from (select * from tab_example_info order by f_id desc) where rownum<=10
2.rownum和rowid
描述:
oracle含有rowid ,由数据库唯一产生的,可以在程序里可以获得;db2不能被程序获得。
oracle中含有rowid和rownum,其中rownum是获取查询结果集后再加上去的,rowid是数据库数据产生的时候生产的结果。
举例:
1--oracle rownum和rowid
2--1.rownum只能用< 或者<=
3--2.rownum<或者<=今年放在子查询里面
4--错误用法
5select rownum,f_name from tab_example_info where rownum>5 and rownum<10;
6--正确用法
7select *