使用 sqlplus 批量导出 sql 数据插入脚本
主要是为了能复制数据方便测试,除了 insert 脚本,稍加修改就可以输出任何格式的文本
1、查看表/视图定义
desc table_or_view_name;
2、为了输出更整齐的一些设置
-- 关闭显示命令的执行结果 set termout off; -- 关闭显示执行语句 set echo off; -- 关闭显示本次语句处理条数 set feedback off; -- 关闭输出域标题 set heading off; -- 设置每行的字符个数(防止超出被换行,根据实际可能产生的语句长度进行设置) set linesize 1200; -- 消除前后空格(上面设置的字符数如果长于输出内容会产生空格) set trimout on; set trimspool on; -- 设置每页行数(设 0 为不分页) set pagesize 0;
3、设置输出文件并执行查询
-- 设置输出文件 spool /home/sql/temp.sql; -- 查询拼接语句 select 'INSERT INTO TARGET_TABLE_NAME (COL1,COL2,COL3) '||'VALUES('||''''||COL1||''''||','||''''||COL2||''''||','||''''||COL3||''''||');' from SOURCE_TABLE_NAME; -- 关闭输出 spool off;
4、到对应文件位置查看获取文件即可
参考:https://blog.csdn.net/weixin_42123737/article/details/114072046
https://blog.csdn.net/u012127798/article/details/34146143
输了你,赢了世界又如何...