如何自己写一个sh脚本(solaris系统,执行oracle查询sql语句,返回结果写在指定文件中)

#echo "Start install now!!!"
sqlplus "/ as sysdba" << EOF
set serveroutput on
spool btf.log
conn omcr/lte;
@create_bak_tab.sql
@create_tab.sql
@sp_add_btytabrec.sql
@sp_cell_up_drop_btf.prc
@sp_create_lte_bty_proc.prc
call sp_create_lte_bty_proc();
call PKG_BTY_RPT.recreate_fast_rpt_proc();
call PKG_BTY_RPT.recreate_fast_rpt_job();
@wkm_guideline.sql
spool off
exit
EOF

第一行  #echo "Start install now!!!"  注释了

一般情况下,第一行应该写:#!/bin/sh

第二行  sqlplus "/ as sysdba" << EOF  登录数据库,直接登录到管理员,建议使用sqlplus /nolog + conn tiger/scott

https://blog.csdn.net/wwlhz/article/details/73296430

注意第二行末尾的<< EOF,<<EOF表示重定向输入,将我们输入的命令字符串作为一个执行程序的输入,这样,我们就不需要在那个程序环境中手工输入命令,以便自动执行我们需要的功能:

https://blog.csdn.net/iamlaosong/article/details/40509399

http://www.jquerycn.cn/a_9335

 

第三行  set serveroutput on  打开oracle自带的输出方法dbms_output。在执行set serveroutput on以后,使用dbms_output方法可以输出信息.例如:dbms_output.put_line('This is');

没理解具体有什么用:

https://zhidao.baidu.com/question/337957008.html

第四行  spool btf.log  

spool是oracle 下sqlplus 的命令,不是sql 语法里面的.

基本示例:

spool 路径+文件名
sql语句;
spool off

这样就把包含在spool块中的sql语句的执行结果保存在"路径+文件名"中了.

https://zhidao.baidu.com/question/161434229.html

 

其他行都是在sqlplus下,执行sql脚本。

 

网友给出的脚本的例子:

https://zhidao.baidu.com/question/812341143492391252.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值