1、简单的单列
#!/bin/sh
sqlplus 'user001/12345678'<< EOF
set define off
set hea off
spool vip1txt
select username from ACCOUNT where LEVEL=7;
spool off
quit;
EOF
sed -i 's/[ ]//g' ~/vip1txt
sed -i '/^$/d' ~/vip1txt
sed -i '1d' ~/vip1txt
sed -i '$d' ~/vip1txt
scp -P22 ~/vip1txt root@1721612:/root
2、复杂的多列
#!/bin/sh
cid=$1;
today=`date +%Y-%m-%d-%H%M`
ym=`date +%Y%m`
ymd=`date -d -1days +%Y%m%d`
last_ym=`date -d last-month +%Y%m`
next_ym=`date -d next-month +%Y%m`
file=chat_recorder_${cid}_20140707-11xls
if [[ $1 == '' ]];then
echo "Usage: $0 company_id "
exit 0;
fi
sqlplus 'user002/12345678' << EOF
set linesize 200
set term off verify off feedback off pagesize 999
set markup html on entmap ON spool on preformat off
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
spool ${file}
select a,b from recorder_${ym} a,t_${ym} b where acompany_id='$cid' and acreate_time between TO_DATE('2014-07-07 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and TO_DATE('2014-07-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and achat_id=bchat_id order by bchat_id ;
spool off
quit;
EOF
sed -i '/select/d' $file
zip -r ${file}zip $file
scp -P22 ${file}zip root@1721615:/opt
两个方法:
1登录SQLPLUS,执行命令:@ E:\\oracle_testsql;
2把脚本文件里的命令复制粘贴到PL/SQL这样的工具下执行,或者直接粘贴在sqlplus WorkSheet下执行。
以上就是关于写个shell脚本连接oracle数据库查询某表数据导出为txt文件,再发送到第三全部的内容,包括:写个shell脚本连接oracle数据库查询某表数据导出为txt文件,再发送到第三、如何使用用sql脚本生成oracle数据库!急!!!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)