2万行的数据库 sql 文件 一次导入 oracle plsql 客户端时候会卡顿
可以进行分批导入
而且 原sql 对表字段都有 "" 这里进行一次 去除引号
且 对表进行了统计 发现是144 张表
oracle 数据库为空时 没有表 执行 drop table 行会错误
所以对原sql 进行一次删除这个行 写入新sql 文件
// http://localhost:8080/aotai_p2p/index.html
const fs = require('fs');
const inputFile = 'sql.sql'; // 原来的数据库建表语句
const outputFile = 'sql-now.sql'; // 格式化后的建表语句
// 读取文件的每一行并过滤出不包含 "drop table" 的行
fs.readFile(inputFile, 'utf8', (err, data) => {
if (err) {
console.error(err);
return;
}
const lines = data.split('\n');
const filteredLines = lines.filter(line => !line.includes('DROP TABLE'));
const tables = lines.filter(line => line.includes('CREATE TABLE')).map(e=> e.match( /CREATE TABLE AOTAI\.([A-Z_0123456789]+)/)[1] );
console.log(tables.length);
// 将过滤后的内容写入新文件
const outputData = filteredLines.join('\n');
fs.writeFile(outputFile, outputData, 'utf8', (err) => {
if (err) {
console.error(err);
return;
}
console.log('Filtered lines have been written to ' + outputFile);
});
fs.writeFile('./tablles.md', tables.join("\n"), 'utf8', (err) => {
if (err) {
console.error(err);
return;
}
console.log('Filtered lines have been written to ' + outputFile);
});
});