脚本原型:
#!/bin/sh
clear
echo "connect Database"
echo "Please Enter UserName ->"|tr -d "\012"
read _USER
echo "Please Enter Password ->"|tr -d "\012"
read _PWD
main()
{
sqlplus -s ${_USER}/${_PWD} << EOF
whenever sqlerror exit 1;
whenever oserror exit 2;
#set newp none; 设置查询出来的数据中间没有空行
#set heading off; 输出标题域,设置为off就是不显示查询语句,只显示数据
#set pagesize 0; 输出每页的行数,设置为0就是不分页
#set linesize 400000; 尽量设置大一些(比实际数据要大),输出一行的字符个数
#set trims off; 将spool输出中每行后面多余的空格去掉
#set trimout on; 去除标准输出每行的拖尾空格
#set feedback off; 回显本次sql命令的处理的记录条数--
#set termout on; 显示脚本命令中执行的结果,缺省为on
#set verify off; 关闭提示确认信息
#set term off; 输出的文件不会显示在屏幕上,可提高spool的速度
#set echo off; 不显示执行sql语句
#set sqlprompt SQL>; 去除开头和结尾的sql查询和结束命令
set trimspool on
set linesize 10000
set pagesize 0
set newpage 1
set heading off
set term off
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
spool /home/oracle/wh/tt.txt;
select RECORD_ID||' '||CLAIM_ID||' '||CLAIM_CODE||' '||CLAIM_STATUS||' '||CAR_MARK||' '||VEHICLE_TYPE||' '||REPORT_NO||' '||CREATE_TIME||' '||LAST_MODIFY_DATE from ma_05;
spool off
/
EXIT 3;
EOF
}
main