sosi脚本改造

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> sosi脚本改造

 

最近有一个应用需求,就是在一个shell脚本中,通过一些逻辑得到一系列表名,然后作为参数传给著名的sosi脚本,产出物是每张表对应的一个分析结果文件。

sosi原始脚本中对于接收表名是用类似如下的语法:


COLUMN 1 new_value Table_owner COLUMN 2 new_value Table_name select '&1' "1" from dual; select '&2' "2" from dual;...where      owner = upper('&&Table_owner') and table_name = upper('&&Table_name')

然后执行脚本,会在变量出现的每一处命令行提示用户进行输入。

传入sosi的是两个参数,table_owner和table_name,脚本其余部分使用table_owner和table_name的时候会自动使用开始赋值的值,注意这块必须是”前面的定义值”。

另外,如果参数值是数值类型,则需要写为:


select &1 "1" from dual;

只有字符型,才需要扩上引号。‍

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> sosi脚本改造


  转载请注明: 好好学java sosi脚本改造

 上一篇
TO_DATE函数索引报错ORA-01743 TO_DATE函数索引报错ORA-01743
开发同学有一个需求,如下这张表: CREATE TABLE TBL_EFFDATE (ROUTID NUMBER(20,0) NOT NULL, EFFDTE CHAR(7), EDDATE CHAR(7), ICID CHAR(1), F
下一篇 
安装Oracle Linux碰见的几个问题 安装Oracle Linux碰见的几个问题
首先祝各位中秋节快乐! 虽然公众号开通时间不久,还是非常感激关注的朋友们,记录这些文章不是为了别的,其实想法很单纯,就是为了能总结一些日常工作中的问题,一方面可以对自己有个交代,另一方面便于包括自己在内的其他人碰见同类问题时有个参考,可以说