1.sqlplus执行单个SQL文件
举个例子,假设你的sql文件是test.sql ,保存路径是D:\script,那么在sqlplus里执行它,用如下语法:
sqlplus> @D:\script\test.sql
这是windows环境下的方法,linux类似,简单来说,就是“@” 加上完整文件名(绝对路径+文件名+文件扩展名) --------------------- 本文来自 mkl34367803 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u010523770/article/details/79013962?utm_source=copy
2.sqlplus批量执行sql文件
假如我们有很多sql脚本,如果一个一个sql脚本文件执行显然过于麻烦,下边我们演示sql脚本批量执行。
解决方法:将需要执行的sql脚本文件的@绝对路径 存放到一个脚本文件中,然后执行这个脚本文件就可以了
具体演示:
1.新建step.sql脚本,内容如下@D:\Users\caojx\Desktop\testsql\test1.sql;
@D:\Users\caojx\Desktop\testsql\test2.sql;
2.sqlplus中执行SQL> @D:\Users\caojx\Desktop\testsql\step.sql;
----本文来自 大海深处的星星 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u013991521/article/details/79293543?utm_source=copy
用sqlplus的spool导文本文件
2017年02月07日 17:09:43 波特王子 阅读数:3217更多sqlplus user/pwd@database <
set echo off; --命令不回显
set feedback off; --不显示已选择行数
set colsep |; --设置列分割符
set linesize 2500; --设置每行最大长度(补空格的)
set pagesize 0; --设置不分页
set heading off; --不显示列名
set term off; --不显示脚本内容
set trimspool on; --去掉行末的空格,针对spool的文件内容
set trimout on; --去掉行末的空格,针对屏幕输出
set numformat 99999999990.99; --设置数字格式,保留两位位小数,小于0时小数点前补零(0.22)
set sqlnumber off; --sql换行后显示提示符(而不是行号)
spool tmpfilename.txt
sqlstatement;
spool off
END
#去出多余内容
sed -e 's/ //g' -e '/^SQL>/d' tmpfilename .txt > newfilename.txt
补充:
set numformat 99999999999.999 --保留三位小数,小于零时小数点前不补零(.222)
用colsep ,导出的字段会按字段长度自动补空格
如果sql语句中用到了连接符“||”,则对输出的格式设置无效 (set numformat )
参考:
sqlplus user guid: