mysql多条插入语句 转换成 oracle语句
不同数据库之间数据的导入导出,是经常遇到的事,今天得到一个mysql数据库导出得sql文件,需要将其导入oracle数据库,可以有很多种方法,和同学交流下来,
- 如果有mysql数据库,可以先将其导入到mysql,然后从mysql数据库导出excel文件,最后将excel导入到oracle
- 第二种,没有mysql数据库,数据量少的情况,用代码替换;
注:oracle 同时插入多条语句的方式,
1.insert into table (字段名) (select 字段名 from table2); 字段必须对应,适用于从已知表插入另一个表。
2.多条insert into 语句。
3.insert all into table valuse()
into table valuse()
into table valuse()
select 1 from dual;
这里写了个简单的代码:
输出sql后直接在plsql种运行就可以了。
/**
*
* @param sql mysql导出的插入语句,需要在第一个里面自己添加 一个all
* @param str 替换的代码 ,将原来sql中的的"),"替换成") into table values "
* @return 返回替换后的slq
*/
public static String changeSql(String sql,String str){
boolean flag = true;
while(flag){
if(sql.contains("),")){
sql =sql.replace("),",str);
}else{
flag = false;
}
}
return sql.substring(0,sql.indexOf(";")) +" select 1 from dual;";
}